正则表达式替换ubb代码

终于搞定了,但是还不是很完善,如下:

Regex emRegex=new Regex(@"\[em(.[^\[]*)\]");
strContent=emRegex.Replace(strContent,"<img src=images/em$1.gif>");

Regex colorRegex=new Regex(@"\[color=(.[^\[]*)\](.[^\[]*)\[\/color\]");
strContent=colorRegex.Replace(strContent,"<font color=$1>$2</font>");

Regex sizeRegex=new Regex(@"\[size=([1-4])\](.[^\[]*)\[\/size\]");
strContent=sizeRegex.Replace(strContent,"<font size=$1>$2</font>");

Regex faceRegex=new Regex(@"\[face=(.[^\[]*)\](.[^\[]*)\[\/face\]");
strContent=faceRegex.Replace(strContent,"<font size=$1>$2</font>");

但是还是有一个bug,就是
[face=黑体]test[/face][size=2]test[/size][color=#8B0000]test[/color]的时候没有问题,但是嵌套的时候会出现正则表达式不能准确匹配的情况,如:
[color=#000000][size=4][face=新宋体]test[/face][/size][/color]

csdn链接:
http://community.csdn.net/Expert/topic/3689/3689624.xml?temp=.3984186

posted on 2004-12-30 22:44  找不到服务器  阅读(763)  评论(0编辑  收藏  举报

导航