恐怕不行,但是你可以按照自己先前的思路用php重写ubb代码

解决方案 »

  1.   

    哦,这么复杂哦,那你们那里有没有已经做好的,让小弟参考一下,我的PHP水平有限哦。
      

  2.   

    function UBBCode(strContent)
    strContent= FilterJS(strContent)
    dim re
    dim po,ii
    dim reContent
    Set re=new RegExp
    re.IgnoreCase =true
    re.Global=True
    po=0
    ii=0

    re.Pattern="\[IMG\](http|https|ftp):\/\/(.[^\[]*)\[\/IMG\]"
    strContent=re.Replace(strContent,"<a onfocus=this.blur() href=""$1://$2"" target=_blank><IMG SRC=""$1://$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")
    re.Pattern="\[UPLOAD=(gif|jpg|jpeg|bmp|png)\](.[^\[]*)(gif|jpg|jpeg|bmp|png)\[\/UPLOAD\]"
    strContent= re.Replace(strContent,"<br><IMG SRC="""&ImagePath&"$1.gif"" border=0>此主题相关图片如下:<br><A HREF=""$2$1"" TARGET=_blank><IMG SRC=""$2$1"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></A>")re.Pattern="\[UPLOAD=(.[^\[]*)\](.[^\[]*)\[\/UPLOAD\]"
    strContent= re.Replace(strContent,"<br><IMG SRC="""&ImagePath&"$1.gif"" border=0> <a href=""$2"">点击浏览该文件</a>")re.Pattern="\[DIR=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/DIR]"
    strContent=re.Replace(strContent,"<object classid=clsid:166B1BCA-3F9C-11CF-8075-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=7,0,2,0 width=$1 height=$2><param name=src value=$3><embed src=$3 pluginspage=http://www.macromedia.com/shockwave/download/ width=$1 height=$2></embed></object>")
    re.Pattern="\[QT=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/QT]"
    strContent=re.Replace(strContent,"<embed src=$3 width=$1 height=$2 autoplay=true loop=false controller=true playeveryframe=false cache=false scale=TOFIT bgcolor=#000000 kioskmode=false targetcache=false pluginspage=http://www.apple.com/quicktime/>")
    re.Pattern="\[MP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
    strContent=re.Replace(strContent,"<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 ><param name=ShowStatusBar value=-1><param name=Filename value=$3><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=$3  width=$1 height=$2></embed></object>")
    re.Pattern="\[RM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
    strContent=re.Replace(strContent,"<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2><PARAM NAME=SRC VALUE=$3><PARAM NAME=CONSOLE VALUE=Clip1><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=true></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1><PARAM NAME=SRC VALUE=$3><PARAM NAME=AUTOSTART VALUE=-1><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=Clip1></OBJECT>")re.Pattern="(\[FLASH\])(.[^\[]*)(\[\/FLASH\])"
    strContent= re.Replace(strContent,"<a href=""$2"" TARGET=_blank><IMG SRC=" & ImagePath & "swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br><OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=500 height=400><PARAM NAME=movie VALUE=""$2""><PARAM NAME=quality VALUE=high><embed src=""$2"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=500 height=400>$2</embed></OBJECT>")re.Pattern="(\[FLASH=*([0-9]*),*([0-9]*)\])(.[^\[]*)(\[\/FLASH\])"
    strContent= re.Replace(strContent,"<a href=""$4"" TARGET=_blank><IMG SRC=" & ImagePath & "swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br><OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=$2 height=$3><PARAM NAME=movie VALUE=""$4""><PARAM NAME=quality VALUE=high><embed src=""$4"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=$2 height=$3>$4</embed></OBJECT>")re.Pattern="(\[URL\])(.[^\[]*)(\[\/URL\])"
    strContent= re.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$2</A>")
    re.Pattern="(\[URL=(.[^\[]*)\])(.[^\[]*)(\[\/URL\])"
    strContent= re.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$3</A>")re.Pattern="(\[EMAIL\])(\S+\@.[^\[]*)(\[\/EMAIL\])"
    strContent= re.Replace(strContent,"<img align=absmiddle src=" & ImagePath & "email1.gif><A HREF=""mailto:$2"">$2</A>")
    re.Pattern="(\[EMAIL=(\S+\@.[^\[]*)\])(.[^\[]*)(\[\/EMAIL\])"
    strContent= re.Replace(strContent,"<img align=absmiddle src=" & ImagePath & "email1.gif><A HREF=""mailto:$2"" TARGET=_blank>$3</A>")'自动识别网址
    're.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@':+!]+)"
    'strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$1>$1</a>")
    're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$"
    'strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$1>$1</a>")
    're.Pattern = "([^>=""])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@':+!]+)"
    'strContent = re.Replace(strContent,"$1<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=$2>$2</a>")'自动识别www等开头的网址
    're.Pattern = "([^(http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
    'strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=http://$2>$2</a>")'自动识别Email地址,如打开本功能在浏览内容很多的帖子会引起服务器停顿
    're.Pattern = "([^(=)])((\w)+[@]{1}((\w)+[.]){1,3}(\w)+)"
    'strContent = re.Replace(strContent,"<img align=absmiddle src=pic/url.gif border=0><a target=_blank href=""mailto:$2"">$2</a>")
      

  3.   

    re.Pattern="\[em(.[^\[]*)\]"
    strContent=re.Replace(strContent,"<img src="&ImagePath&"em$1.gif border=0 align=middle>")re.Pattern="\[HTML\](.[^\[]*)\[\/HTML\]"
    strContent=re.Replace(strContent,"<table width='100%' border='0' cellspacing='0' cellpadding='6' class=tableborder1><td><b>以下内容为程序代码:</b><br>$1</td></table>")
    re.Pattern="\[code\](.[^\[]*)\[\/code\]"
    strContent=re.Replace(strContent,"<table width='100%' border='0' cellspacing='0' cellpadding='6' class=tableborder1><td><b>以下内容为程序代码:</b><br>$1</td></table>")re.Pattern="\[color=(.[^\[]*)\](.[^\[]*)\[\/color\]"
    strContent=re.Replace(strContent,"<font color=$1>$2</font>")
    re.Pattern="\[face=(.[^\[]*)\](.[^\[]*)\[\/face\]"
    strContent=re.Replace(strContent,"<font face=$1>$2</font>")
    re.Pattern="\[align=(center|left|right)\](.*)\[\/align\]"
    strContent=re.Replace(strContent,"<div align=$1>$2</div>")re.Pattern="\[QUOTE\](.*)\[\/QUOTE\]"
    strContent=re.Replace(strContent,"<table style=""width:80%"" cellpadding=5 cellspacing=1 class=tableborder1><TR><TD class=tableborder1>$1</td></tr></table><br>")
    re.Pattern="\[fly\](.*)\[\/fly\]"
    strContent=re.Replace(strContent,"<marquee width=90% behavior=alternate scrollamount=3>$1</marquee>")
    re.Pattern="\[move\](.*)\[\/move\]"
    strContent=re.Replace(strContent,"<MARQUEE scrollamount=3>$1</marquee>")
    re.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]"
    strContent=re.Replace(strContent,"<table width=$1 style=""filter:glow(color=$2, strength=$3)"">$4</table>")
    re.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]"
    strContent=re.Replace(strContent,"<table width=$1 style=""filter:shadow(color=$2, strength=$3)"">$4</table>")re.Pattern="\[i\](.[^\[]*)\[\/i\]"
    strContent=re.Replace(strContent,"<i>$1</i>")
    re.Pattern="\[u\](.[^\[]*)(\[\/u\])"
    strContent=re.Replace(strContent,"<u>$1</u>")
    re.Pattern="\[b\](.[^\[]*)(\[\/b\])"
    strContent=re.Replace(strContent,"<b>$1</b>")
    re.Pattern="\[size=([1-4])\](.[^\[]*)\[\/size\]"
    strContent=re.Replace(strContent,"<font size=$1>$2</font>")
    strContent=replace(strContent,"<I></I>","")
    set re=Nothing
    UBBCode=strContent
    end function
      

  4.   

    用一个php的在线编辑器算了!偶然的在线编辑器那个很不错。
      

  5.   

    这个是我以前写的function revert($char){ $char_array[0]=array("",""); $char_array[15]=array("",""); $char_array[1]=array("",""); $char_array[16]=array("",""); $char_array[2]=array("",""); $char_array[17]=array("",""); $char_array[3]=array("[IMG]","[/IMG]"); $char_array[18]=array(""); $char_array[4]=array("",""); $char_array[19]=array("",""); $char_array[5]=array("[center]","[/center]"); $char_array[20]=array("[CENTER]","[/CENTER]"); $char_array[6]=array("[URL=","[/URL]"); $char_array[21]=array("[url=","[/url]"); $char_array[7]=array(""); $char_array[22]=array(""); $char_array[8]=array("[move]","[/move]"); $char_array[23]=array("[MOVE]","[/MOVE]"); $char_array[9]=array("[swf]","[/swf]"); $char_array[10]=array("[face=","[/face]"); $char_array[11]=array("[color=","[/color]"); $char_array[12]=array("[size=","[/size]"); $char_array[13]=array("[mp=","[/mp]"); $char_array[14]=array("[if=","[/if]"); $num=count($char_array); for($j=0;$j<$num;$j++) { $temp=$char_array[$j][0]; $pre_array=explode($temp,$char); $num2=count($pre_array)-1; $operated_char=$pre_array[0]; for($i=1;$i<=$num2;$i++) { $temp=$char_array[$j][1]; $temp2=$pre_array[$i]; $the_array=explode($temp,$temp2); if($j==0||$j==15)$the_array[0]="<b>".$the_array[0]."</b>"; elseif($j==1||$j==16)$the_array[0]="<u>".$the_array[0]."</u>"; elseif($j==2||$j==17)$the_array[0]="<i>".$the_array[0]."</i>"; elseif($j==3||$j==18)$the_array[0]=MyImg($the_array[0]); elseif($j==4||$j==19)$the_array[0]="<a href=\"mailto:".$the_array[0]."\">".$the_array[0]."</a>"; elseif($j==5||$j==20)$the_array[0]="<div align=center>".$the_array[0]."</div>"; elseif($j==7||$j==22) $the_array[0]="<table width=\"97%\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" align=\"center\" bgcolor=\"#CCCCCC\"><tr><td bgcolor=\"#FFFFFF\"><table width=\"95%\"align=\"center\"><tr><td>".$the_array[0]."</td></tr></table></td></tr></table>"; elseif($j==6||$j==21) { $the_array_s=explode("]",$the_array[0]); $num3=count($the_array_s); for($k=2;$k<$num3;$k++)$the_array_s[1].="]".$the_array_s[$k]; $the_array[0]="<a href=\"".$the_array_s[0]."\" target=_blank>".$the_array_s[1]."</a>"; } elseif($j==8||$j==23)$the_array[0]="<marquee>".$the_array[0]."</marquee>"; elseif($j==9)$the_array[0]="<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"400\" height=\"300\">        <param name=movie value=\"".$the_array[0]."\">        <param name=quality value=high>        <embed src=\"".$the_array[0]."\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"400\" height=\"300\">        </embed> </object>"; elseif($j==10) { $the_array_s=explode("]",$the_array[0]); $num3=count($the_array_s); for($k=2;$k<$num3;$k++)$the_array_s[1].="]".$the_array_s[$k]; $the_array[0]="<font face=\"".$the_array_s[0]."\">".$the_array_s[1]."</font>"; } elseif($j==11) { $the_array_s=explode("]",$the_array[0]); $num3=count($the_array_s); for($k=2;$k<$num3;$k++)$the_array_s[1].="]".$the_array_s[$k]; $the_array[0]="<font color=\"".$the_array_s[0]."\">".$the_array_s[1]."</font>"; } elseif($j==12) { $the_array_s=explode("]",$the_array[0]); $num3=count($the_array_s); for($k=2;$k<$num3;$k++)$the_array_s[1].="]".$the_array_s[$k]; $the_array[0]="<font size=\"".$the_array_s[0]."\">".$the_array_s[1]."</font>"; } elseif($j==13) { $the_array_s=explode("]",$the_array[0]); $parameter=explode(",",$the_array_s[0]); $width=$parameter[0]; $height=$parameter[1]; $the_array[0]="<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$width height=$height><param name=ShowStatusBar value=-1><param name=Filename value=$the_array_s[1]><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=$the_array_s[1] width=$width height=$height></embed></object>"; } elseif($j==14) { $the_array_s=explode("]",$the_array[0]); $parameter=explode(",",$the_array_s[0]); $width=$parameter[0]; $height=$parameter[1]; $the_array[0]="<iframe width=$width height=$height src='$the_array_s[1]' frameborder=0 name=product></iframe>"; } $operated_char.=$the_array[0].$the_array[1]; } $char=$operated_char; }
    $operated_char = str_replace("[br]", "<br>", $operated_char); $operated_char = str_replace("\n", "<br>", $operated_char); $operated_char = str_replace("\&#161;&#175;", "'", $operated_char); return  $operated_char;}