• 4446阅读
  • 0回复

asp.net(vb)下的ubb{{转}}[supfrie] [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2005-07-30
'Ubb
function ubb(vstr as string)

'替换HTML标记及换行处理
vstr = server.HTMLEncode(vstr)
vstr = Replace(vstr, chr(32), " ")
vstr = Replace(vstr, vbCrlf, "<br>")

dim objregex as RegEx

'屏蔽JS等等
objregex = new regex("javascript")
vstr = objregex.replace(vstr,"javascript")
objregex = new regex("jscript:")
vstr = objregex.replace(vstr,"jscript:")
objregex = new regex("js:")
vstr = objregex.replace(vstr,"js:")
objregex = new regex("value")
vstr = objregex.replace(vstr,"value")
objregex = new regex("about:")
vstr = objregex.replace(vstr,"about:")
objregex = new regex("file:")
vstr = objregex.replace(vstr,"file:")
objregex = new regex("document.cookie")
vstr = objregex.replace(vstr,"documents.cookie")
objregex = new regex("vbscript:")
vstr = objregex.replace(vstr,"vbscript:")
objregex = new regex("vbs:")
vstr = objregex.replace(vstr,"vbs:")
objregex = new regex("(on(mouse|exit|error|click|key))")
vstr = objregex.replace(vstr,"on$2")
objregex = new regex("script")
vstr = objregex.replace(vstr,"script")

'UBB转换
'url
objregex = new regex("\[url\](http|https|ftp):\/\/(.[^\[]*)\[\/url\]")
vstr = objregex.replace(vstr,"<a href=""$1://$2"" TARGET=""_blank"">$1://$2</a>")
'EMAIL
objregex = new regex("\[email\](.[^\[]*)\[\/email\]")
vstr = objregex.replace(vstr,"<a href=""mailto:$1"" TARGET=""_blank"">$1</a>")
'IMG
objregex = new regex("\[img\](http|https|ftp):\/\/(.[^\[]*)\[\/img\]")
vstr = objregex.replace(vstr,"<br><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>")
'自动识别URL
objregex = new regex("\[url=(http:\/\/.[^\[]*)\](.[^\[]*)(\[\/url\])")
vstr = objregex.replace(vstr,"<a href=""$1"" target=""_blank"">$2</a>")
objregex = new regex("^(http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)")
vstr = objregex.replace(vstr,"<a href=""$1"" target=""_blank"">$1</a>")
objregex = new regex("(http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$")
vstr = objregex.replace(vstr,"<a target=_blank href=$1>$1</a>")
objregex = new regex("[^>=""](http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)")
vstr = objregex.replace(vstr,"<a target=_blank href=$1>$1</a>")
'COLOR
objregex = new regex("\[color=(.[^\[]*)\](.[^\[]*)\[\/color\]")
vstr = objregex.replace(vstr,"<font color=""$1"">$2</font>")
'u
objregex = new regex("\[u\](.*)\[\/u\]")
vstr = objregex.replace(vstr,"<u>$1</u>")
'B
objregex = new regex("\[b\](.*)\[\/b\]")
vstr = objregex.replace(vstr,"<b>$1</b>")
'I
objregex = new regex("\[斜\](.*)\[\/斜\]")
vstr = objregex.replace(vstr,"<i>$1</i>")
objregex = new regex("\[I\](.*)\[\/I\]")
vstr = objregex.replace(vstr,"<i>$1</i>")
objregex = new regex("\[i\](.*)\[\/i\]")
vstr = objregex.replace(vstr,"<i>$1</i>")
'FLY
objregex = new regex("\[fly\](.*)\[\/fly\]")
vstr = objregex.replace(vstr,"<marquee width=""80%"" behavior=""alternate"" scrollamount=""3"">$1</marquee>")
'SHADOW
objregex = new regex("\[shadow=*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/shadow\]")
vstr = objregex.replace(vstr,"<span style=""filter: Shadow(Color=$1, Direction=$2)"">$3</span>")
'CODE
objregex = new regex("\[code\](.*)\[\/code\]")
vstr = objregex.replace(vstr,"<table width=""80%"" border=""0"" cellpadding=""2"" cellspacing=""0"" bgcolor=""#99FFCC"" style=""border:1px solid #000000;font-size:9pt;font-family:tahoma""><tr><td>$1</td></tr></table>")
'完成,还可以自己扩展
ubb = vstr
end function
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个