塔人网络:请问谁知道怎样使用UBB代码啊

来源:百度文库 编辑:高考问答 时间:2024/04/29 04:21:45
很急着用,我学会ASP没多久,刚进一家公司,接到一个项目,其中就有UBB
哪位大哥帮帮忙把代码跟使用的方法说一下.

'============UBB 使用方法==============
'作者:心语 QQ:31642453
'假设数据库存放有UBB代码的字段为content
'读出数据时这样处理
'response.Write strtoUBB(rs("content"))
'这样,UBB代码就会替换成HTML的标签
'备注:部分标签未经测试,可能需要调整
'===================================
function replaceUBB(pat,str,restr) 'UBB代码函数
set regEx=new regExp
regEx.pattern=pat
regEx.IgnoreCase = true'不区分大小写
regEx.Global=True'整个字符串匹配
replaceUBB=regEx.Replace(str,restr)
set regEx=nothing
end function
function strtoUBB(str)
str=replaceUBB("\[b\](.+?)\[\/b\]",str,"<b>$1</b>")'[b]粗体[/b]
str=replaceUBB("\[i\](.+?)\[\/i\]",str,"<i>$1</i>")'[i]斜体[/i]
str=replaceUBB("\[u\](.+?)\[\/u\]"),str,"<u>$1<\u>"'[u]下划线[\u]
str=replaceUBB("\[color=(.+?)\](.+?)\[\/color\]",str,"<font color=""$1"">$2</font>")'[color=颜色]文字[/color]
str=replaceUBB("\[center\](.+?)\[\/center\]",str,"<center>$1</center>")'[center]居中[/center]
str=replaceUBB("\[mail\](.+?)\[\/mail\]",str,"<a href=""mailto:$1"">$1</a>")'[mail]邮件地址[/mail]
str=replaceUBB("\[mail=(.+?)\](.+?)\[\/mail\]",str,"<a href=""mailto:$1"">$2</a>")'[mail=邮件地址]文字[/mail]
str=replaceUBB("\[img\](?:http:\/\/|http:\\\\)(.+?)\[\/img\]",str,"<img scr=""http://$1"" />")'[img]图片地址[/img]
'大小(待添加)
'字体(待添加)
str=replaceUBB("\[url\](.+?)\[\/url\]",str,"<a href=""$1"">$1</a>")'[url]超链接[/url]
str=replaceUBB("\[url=(\S+?)\](.+?)\[\/url\]",str,"<a href=""$1"">$2</a>")'[url=超链接]文字[/url]
strtoUBB=str
'str=replaceUBB("(?:http:\/\/|http:\\\\)((?:www\.){0,1}\S+)",str,"<a href=""http://$1"">$1</a>")'跟[url][/url]冲突
end function

UBB其实就是正则表达式替换 很容易掌握的
网上有都是现成的例子 最好自己写 练习一下正则表达式的掌握