很不错的一个UBB代码

<%
Function HTMLEncode(ByVal strValue)
 '忽略错误
 On Error Resume Next
 '定义变量
 Dim strNewValue
 If strValue <> "" Then
  strNewValue = Replace(strValue,"<","<")
  strNewValue = Replace(strNewValue,">",">")
  strNewValue = Replace(strNewValue,"'","'")
  strNewValue = Replace(strNewValue,"""",""")
  strNewValue = Replace(strNewValue,vbCrLf,"<br>")
  strNewValue = Replace(strNewValue," "," ")
 End If
 HTMLEncode = strNewValue
 '输出错误
 If Err.Number>0 Then
  Response.Write Err.Description
  Response.End
 End If
End Function

Function UBBCode(strValue) 
Dim RegExp 
'strValue=HTMLEncode(strValue)
Set RegExp=New RegExp 
RegExp.IgnoreCase =True 
RegExp.Global=True

If strValue <> "" Then
RegExp.Pattern="(\[IMG\])(.[^\[]*)(\[\/IMG\])" 
strValue=RegExp.Replace(strValue,"<a href=""$2"" target=_blank><IMG SRC=""$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></a>")

RegExp.Pattern="(\[FLASH\])(.[^\[]*)(\[\/FLASH\])" 
strValue=RegExp.Replace(strValue,"<OBJECT codebase=""http://download.macromedia.com/pub/sho ... h/swflash.cab#version=4,0,2,0"" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=500 height=400 id=ShockwaveFlash1><PARAM NAME=movie VALUE=""$2""><PARAM NAME=quality VALUE=high><embed src=""$2"" quality=high pluginspage=""") ' target=_blank rel=nofollow>http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""appl ... 00 height=400></embed></OBJECT>")

RegExp.Pattern="(\[ZIP\])(.[^\[]*)(\[\/ZIP\])" 
strValue=RegExp.Replace(strValue,"<br><a href=""$2"">点击下载该文件</a>")

RegExp.Pattern="(\[RAR\])(.[^\[]*)(\[\/RAR\])" 
strValue=RegExp.Replace(strValue,"<br><a href=""$2"">点击下载该文件</a>")

'RegExp.Pattern="(\[UPLOAD=(.[^\[]*)\])(.[^\[]*)(\[\/UPLOAD\])" 
'strValue=RegExp.Replace(strValue,"<br><IMG SRC=""$2.gif"" border=0> <A HREF=""$3"" TARGET=_blank>点击查看或下载该文件</A>") 
'strValue=RegExp.Replace(strValue,"<br><IMG SRC=""$2.gif"" border=0>此主题相关图片如下:<br><A HREF=""$3"" TARGET=_blank><IMG SRC=""$3"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.width>screen.width-333)this.width=screen.width-333""></A>")

RegExp.Pattern="(\[URL\])(http:\/\/.[^\[]*)(\[\/URL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""$2"" TARGET=_blank>$2</A>")

RegExp.Pattern="(\[URL\])(.[^\[]*)(\[\/URL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""$2") ' target=_blank rel=nofollow>http://$2"" TARGET= ... t;/A>")

RegExp.Pattern="(\*)\])(.[^\[]*)(\[\/URL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""$2"" TARGET=_blank>$3</A>")

RegExp.Pattern="(\[URL=(.[^\[]*)\])(.[^\[]*)(\[\/URL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""[url]http://$2"" TARGET=_blank>$3</A>")

RegExp.Pattern="(\[EMAIL\])(\S+\@.[^\[]*)(\[\/EMAIL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""mailto:$2"">$2</A>")

RegExp.Pattern="(\[EMAIL=(\S+\@.[^\[]*)\])(.[^\[]*)(\[\/EMAIL\])" 
strValue=RegExp.Replace(strValue,"<A HREF=""mailto:$2"" TARGET=_blank>$3</A>")

RegExp.Pattern = "^(http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "(http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "[^>=""](http://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "^(ftp://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "(ftp://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "[^>=""](ftp://[A-Za-z0-9\.\/=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "^(rtsp://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "(rtsp://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "[^>=""](rtsp://[A-Za-z0-9\.\/=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "^(mms://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "(mms://[A-Za-z0-9\./=\?%\-&_~`@':+!]+)$" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern = "[^>=""](mms://[A-Za-z0-9\.\/=\?%\-&_~`@':+!]+)" 
strValue=RegExp.Replace(strValue,"<a target=_blank href=$1>$1</a>")

RegExp.Pattern="(\[HTML\])(.[^\[]*)(\[\/HTML\])" 
strValue=RegExp.Replace(strValue,"<table width='100%' border='0' cellspacing='0' cellpadding='6' bgcolor='#FFFFFF'><td><b>以下内容为程序代码:</b><br>$2</td></table>")

RegExp.Pattern="(\[code\])(.[^\[]*)(\[\/code\])" 
strValue=RegExp.Replace(strValue,"<table width='100%' border='0' cellspacing='0' cellpadding='6' bgcolor='#FFFFFF'><td><b>以下内容为程序代码:</b><br>$2</td></table>")

RegExp.Pattern="(\[color=(.[^\[]*)\])(.[^\[]*)(\[\/color\])" 
strValue=RegExp.Replace(strValue,"<font color=$2>$3</font>")

RegExp.Pattern="(\[face=(.[^\[]*)\])(.[^\[]*)(\[\/face\])" 
strValue=RegExp.Replace(strValue,"<font face=$2>$3</font>")

RegExp.Pattern="(\[align=(.[^\[]*)\])(.*)(\[\/align\])" 
strValue=RegExp.Replace(strValue,"<div align=$2>$3</div>")

RegExp.Pattern="(\[QUOTE\])(.*)(\[\/QUOTE\])" 
strValue=RegExp.Replace(strValue,"<table cellpadding=0 cellspacing=0 border=0 WIDTH=94% bgcolor=#000000 align=center><tr><td><table width=100% cellpadding=5 cellspacing=1 border=0><TR><TD BGCOLOR='#FFFFFF'>$2</table></table><br>")

RegExp.Pattern="(\[fly\])(.*)(\[\/fly\])" 
strValue=RegExp.Replace(strValue,"<marquee width=90% behavior=alternate scrollamount=3>$2</marquee>")

RegExp.Pattern="(\[move\])(.*)(\[\/move\])" 
strValue=RegExp.Replace(strValue,"<MARQUEE scrollamount=3>$2</marquee>")

RegExp.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]" 
strValue=RegExp.Replace(strValue,"<table width=$1 style=""filter:glow(color=$2, strength=$3)"">$4</table>")

RegExp.Pattern="\[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]" 
strValue=RegExp.Replace(strValue,"<table width=$1 style=""filter:shadow(color=$2, strength=$3)"">$4</table>")

RegExp.Pattern="(\[i\])(.[^\[]*)(\[\/i\])" 
strValue=RegExp.Replace(strValue,"<i>$2</i>")

RegExp.Pattern="(\[u\])(.[^\[]*)(\[\/u\])" 
strValue=RegExp.Replace(strValue,"<u>$2</u>")

RegExp.Pattern="(\[b\])(.[^\[]*)(\[\/b\])" 
strValue=RegExp.Replace(strValue,"<b>$2</b>")

RegExp.Pattern="(\[fly\])(.[^\[]*)(\[\/fly\])" 
strValue=RegExp.Replace(strValue,"<marquee>$2</marquee>")

RegExp.Pattern="(\[size=1\])(.[^\[]*)(\[\/size\])" 
strValue=RegExp.Replace(strValue,"<font size=1>$2</font>")

RegExp.Pattern="(\[size=2\])(.[^\[]*)(\[\/size\])" 
strValue=RegExp.Replace(strValue,"<font size=2>$2</font>")

RegExp.Pattern="(\[size=3\])(.[^\[]*)(\[\/size\])" 
strValue=RegExp.Replace(strValue,"<font size=3>$2</font>")

RegExp.Pattern="(\[size=4\])(.[^\[]*)(\[\/size\])" 
strValue=RegExp.Replace(strValue,"<font size=4>$2</font>")

RegExp.Pattern="(\[center\])(.[^\[]*)(\[\/center\])" 
strValue=RegExp.Replace(strValue,"<center>$2</center>") 
End If
Set RegExp=Nothing 
UBBCode=strValue

'输出错误
If Err.Number>0 Then
  Response.Write Err.Description
  Response.End
End If
End Function
%>

调用:<%=UBBCode(Content)%>

(0)

相关推荐

  • 很不错的一个UBB代码

    <%Function HTMLEncode(ByVal strValue) '忽略错误 On Error Resume Next '定义变量 Dim strNewValue If strValue <> "" Then  strNewValue = Replace(strValue,"<","<")  strNewValue = Replace(strNewValue,">","&

  • ubb代码转换为html

    记得以前贴过一个ubb代码转换为html格式的代码,前几天读ubb的源代码.所以有了这个新的版本.注意,这个版本可能还不能正常使用,详细见注. 这段代码将用户输入的ubb代码转化为html格式,注意,需要Script Engine 5.0的支持(使用了RegExp对象) 注:pattern中使用()将知道regexp记忆搜索到的值,$1是第一个(),其余类推.但$2的语法并不被5.0版本的vbscript.dll所支持,我检查了自己机器上的版本(安装过ie 5.5),发现vbscript.dll

  • 了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)

    2.测试jQuery包装集是否包含某些元素 如果你想测试一下某个jQuery包装集中是否包含某些元素,你首先可以尝试使用验证首个元素是否存在: 复制代码 代码如下: if($(selector)[0]){...} // 或者这样 if($(selector).length){...} 来看看这个例子: 复制代码 代码如下: //例子.如果你的页面有以下html代码 <ul id="shopping_cart_items"> <li><input class

  • 非常不错的一个JS分页效果代码,值得研究

    本来想用网上找来的分页程序,不过都得做修改,感觉麻烦了,还是自己写一个好了,以后自己用的时候修改就方便了~~大家都多动手,自己写的才是最好的,日后想干什么的,做修改也是很容易的~~顺便也扩充一下自己的代码库~~ 补充一句,cpage是页面计数,应为全局变量,这样可以随处调用它,totalpage是总页数 JS静态分页程序 a:link,a:visited,a:hover,.current,#info{ border:1px solid #DDD; background:#F2F2F2; disp

  • 很不错的两款Bootstrap Icon图标选择组件

    一.Bootstrap icon picker组件 这个组件是在github上面搜索的时候找到的,初初看上去,确实是很不错的,并且是基于bootstrap风格的,所以更加适合使用bootstrap风格布局的项目.既然是github上面的,毋庸置疑,这是一个开源组件,源码地址.好了,说了这么多,一起来看看它到底长啥样子吧. 1.组件效果预览 第一次初始化 支持"上一页"和"下一页" 支持自定义图标的选择 支持模糊搜索图标,比如我们搜索camera 选择图标后对应的样式

  • 非常不错的一个javascript 类

    非常不错的一个javascript 类 复制代码 代码如下: /*    *  Author:aoao  *    Homepage:http://www.loaoao.com  *  Email:loaoao@gmail.com / QQ:2222342  *  Copyright (c) 2006 aoao  *  Licensed under a Creative Commons Attribution 2.5 License (http://creativecommons.org/lic

  • 很实用的一个完整email发送程序

    很实用的一个完整email发送程序,很简单,把下列代码复制到一个空白文本页面,如index.php,运行就行了.具体实例:http://zsvalley.uhome.net/email/index.php. 以下是完整的源代码:(有任何问题请email:zsvalley@cmmail.com) <? if ($ok=='yes'){ //        SetCookie("yname", $yname);  //        SetCookie("yemail&qu

  • 我,一个写代码的 程序员 感悟

    前几天一个朋友给我的blog留言,谈到希望在新年里能够看到的不仅仅是我对技术的分享,更希望能够看到对于技术学习.职业发展的规划.因此想到了写一点什么分享一下自己这些年的一点点"收获",周星驰的喜剧之王里面说到他是一个演员(虽然被叫做跑龙套的),我想我,就一个写代码的. 爱这行 从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的

  • 改进:论坛UBB代码自动插入方式

    目前IECN论坛的UBB自动插入时,总是将插入的内容加到了文章末尾,使用起来很不方便.刚刚对它进行了一下改进.改进的代码参考river以前贴过的JS,在此对river深表感谢^^ 改进后:1.可在"当前光标处"插入相应的UBB代码2.可在"当前选中的内容"首尾分别插入相应的UBB代码3.通过浏览器:IE 5.0+, FireFox 1.06+, Opera8.5+ 相关JS代码:http://cnlei.iecn.net/mycode/ubb4iecn/ubb4ie

  • 使用synchronized实现一个Lock代码详解

    刚看到这个题目的时候无从下手,因为觉得synchronized和lock在加锁的方式上有很大不同,比如,看看正常情况下synchronized时如何加锁的. 方式一: public synchronized void a(){ //TODO } 方式二: public void b(){ synchronized(this){ //TODO } } 从这两种方式来看,锁都是加在{}之间的,我们再来看看Lock是如何做的呢: public void c() { lock.lock(); try {

随机推荐