UBB代码的实现(ASP)

(写于2003年6月)
此段代码部分是从网上其他资料里获得,然后我加以修改及完善,用了比较笨拙的办法replace(嘻嘻,自己还没掌握正则表达式)实现了UBB 代码,因为一直觉得这种方法是不是比较笨,所以不好意思贴出来,今天有网友用到,想对初学者也有价值,因而将源码全部公布出来,供参考,因为时间关系,没有任何注解,我会逐渐完善。

该段ubb代码实现功能
[B][/B] 加粗,替换为html标记<b></b>
[I][/I] 斜体,替换为html标记<i></i>
[U][/U] 加下划线,替换为html标记<u></u>
[br] 换行,替换为html标记<br>
[COLOR][/COLOR] 文本颜色,替换为html标记<font color=xxx></font>。
用法:[COLOR=xxx]文本[/COLOR]。
[MYCODE][/MYCODE] 保留源码输入格式,替换为html标记<pre></pre>。其中的文本会完全保留,不会被UBB替换
[URL][/URL] 超连接,替换为html标记<a></a>。
用法:[URL=连接地址]显示的文本[/URL](长格式)或[URL]连接地址[/URL](短格式),注意不要在“连接”的两端加引号。
[EMAIL][/EMAIL] email地址,替换为html标记<a href=mailto:xxx></a>。
用法:[EMAIL=邮箱地址]人名[/EMAIL](长格式)或[EMAIL]邮箱地址[/EMAIL](短格式)。其中的“地址”必须是合法的email格式。
[IMAGE][/IMAGE] 图片,替换为html标记<img src="xxx" border=0>。
用法:[IMAGE]图片地址[/IMAGE]。其中的“地址”必须是图片的完整路径。
[SOUND][/SOUND] 多媒体声音,可以把歌曲的url放在sound后。
用法:[SOUND=歌曲地址]歌名[/SOUND]。
[FLASH][/FLASH] FLASH,可以把FLASH的url放在flash后。
用法:[FLASH=flash地址]FLASH名[/FLASH]。

代码如下:
对要实现进行UBB的文本,只需调用icode2html()就可以了
yourtext="......"  '你的文本,含有UBB标记
icode2html(yourtext,1,1)  '后面两个参数是表示是否禁止image,是否禁止sound及flash

<%

Function icode2Html(str,unimage,unsound)
  if not str<> "" then exit function  '若是空串结束
  str=HTMLEncode(str)    '先对文本进行HTML编码
  str=replace(str,chr(13)+chr(10), "<br>") '将文本回车换行符换成HTML的换行
  str=replace(str,chr(32), "&nbsp;") '把文本空格换成HTML空格
  tmpstr= "icode"    '此变量将用于处理[MYCODE]xxxxxx[/MYCODE]中的文本xxxxxx
  str=icodeStr2(str, "mycode") '调用icodeStr2函数,将出现[mycode]xxx[/mycode]的地方换成<pre>xxx</pre>
  str=icodeStr2(str, "url") '将[url]xxx[/url]换成<a href=xxx target=_blank>xxx</a>
  str=icodeStr2(str, "email") '类似上面
  if not unimage then str=icodeStr2(str, "image") '若没有禁用贴图 对其进行替换 <img src=xxx>
  str=icodeStr1(str, "url") '将[url=yyy]xxx[/url]换成<a href=yyy target=_blank>xxx</a>
  str=icodeStr1(str, "email") '类似上面替换成EMAIL链接
  str=icodeStr1(str, "color") '替换成<font color=xxx>...</font>
  if not unsound then str=icodeStr1(str, "sound")
  '若没有禁用贴歌,则替换成<embed ..>什么的
  if not unsound then str=icodeStr1(str, "flash")
  '若没有禁用贴歌,则替换成<embed ..>什么的
  str=replace(str,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值