const
ImagePath
=
"
images/
"
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 οnfοcus=this.blur() href=""$1://$2"" target=_blank><IMG SRC=""$1://$2"" border=0 alt=按此在新窗口浏览图片 οnlοad=""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=按此在新窗口浏览图片 οnlοad=""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>")
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
Function FilterJS(v)
if not isnull (v) then
dim t
dim re
dim reContent
Set re = new RegExp
re.IgnoreCase = true
re.Global = True
re.Pattern = " (javascript) "
t = re.Replace(v, " javascript " )
re.Pattern = " (jscript:) "
t = re.Replace(t, " jscript: " )
re.Pattern = " (js:) "
t = re.Replace(t, " js: " )
re.Pattern = " (value) "
t = re.Replace(t, " value " )
re.Pattern = " (about:) "
t = re.Replace(t, " about: " )
re.Pattern = " (file:) "
t = re.Replace(t, " file: " )
re.Pattern = " (document.cookie) "
t = re.Replace(t, " documents.cookie " )
re.Pattern = " (vbscript:) "
t = re.Replace(t, " vbscript: " )
re.Pattern = " (vbs:) "
t = re.Replace(t, " vbs: " )
re.Pattern = " (on(mouse|exit|error|click|key)) "
t = re.Replace(t, " on$2 " )
re.Pattern = " (&#) "
t = re.Replace(t, " &# " )
FilterJS = t
set re = nothing
end if
End Function
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 οnfοcus=this.blur() href=""$1://$2"" target=_blank><IMG SRC=""$1://$2"" border=0 alt=按此在新窗口浏览图片 οnlοad=""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=按此在新窗口浏览图片 οnlοad=""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>")
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
Function FilterJS(v)
if not isnull (v) then
dim t
dim re
dim reContent
Set re = new RegExp
re.IgnoreCase = true
re.Global = True
re.Pattern = " (javascript) "
t = re.Replace(v, " javascript " )
re.Pattern = " (jscript:) "
t = re.Replace(t, " jscript: " )
re.Pattern = " (js:) "
t = re.Replace(t, " js: " )
re.Pattern = " (value) "
t = re.Replace(t, " value " )
re.Pattern = " (about:) "
t = re.Replace(t, " about: " )
re.Pattern = " (file:) "
t = re.Replace(t, " file: " )
re.Pattern = " (document.cookie) "
t = re.Replace(t, " documents.cookie " )
re.Pattern = " (vbscript:) "
t = re.Replace(t, " vbscript: " )
re.Pattern = " (vbs:) "
t = re.Replace(t, " vbs: " )
re.Pattern = " (on(mouse|exit|error|click|key)) "
t = re.Replace(t, " on$2 " )
re.Pattern = " (&#) "
t = re.Replace(t, " &# " )
FilterJS = t
set re = nothing
end if
End Function