📄 ubb代码的使用.asp
字号:
<%
Function UBBCode(ByVal strValue)
'忽略错误
On Error Resume Next
'定义变量
Dim RegExp
Dim strNewValue
Set RegExp = New RegExp
RegExp.IgnoreCase = True
RegExp.Global = True
strValue = UCase(HTMLEncode(strValue))
If strValue <> "" Then
RegExp.Pattern = "(\[URL\])(.[^\[]*)(\[\/URL\])"
strNewValue = RegExp.Replace(strValue,"<A HREF='HTTP://$2' TARGET='_BLANK'>$2</A>")
RegExp.Pattern = "(\[URL\])(HTTP:\/\/.[^\[]*)(\[\/URL\])"
strNewValue = RegExp.Replace(strValue,"<A HREF='$2' TARGET='_BLANK'>$2</A>")
RegExp.Pattern = "(\[URL=(HTTP:\/\/.[^\[]*)\])(.[^\[]*)(\[\/URL\])"
strNewValue = RegExp.Replace(strValue,"<A HREF='$2' TARGET='_BLANK'>$3</A>")
RegExp.Pattern = "(\[URL=(.[^\[]*)\])(.[^\[]*)(\[\/URL\])"
strNewValue = RegExp.Replace(strValue,"<A HREF='HTTP://$2' TARGET='_BLANK'>$3</A>")
RegExp.Pattern = "(\[IMG\])(.[^\[]*)(\[\/IMG\])"
strNewValue = RegExp.Replace(strNewValue,"<IMG SRC='$2' BORDER='0'>")
RegExp.Pattern = "(\[IMG=(HTTP:\/\/.[^\[]*)\])(\[\/IMG\])"
strNewValue = RegExp.Replace(strNewValue,"<IMG SRC='$2' BORDER='0'>")
RegExp.Pattern = "(\[IMG=(.[^\[]*)\])(\[\/IMG\])"
strNewValue = RegExp.Replace(strNewValue,"<IMG SRC='HTTP://$2' BORDER='0'>")
RegExp.Pattern = "(\[SIZE=([0-9]*)\])(.[^\[]*)(\[\/SIZE\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT SIZE='$2'>$3</FONT>")
RegExp.Pattern = "(\[B\])(.[^\[]*)(\[\/B\])"
strNewValue = RegExp.Replace(strNewValue,"<B>$2</B>")
RegExp.Pattern = "(\[COLOR=(.[^\[]*)\])(.[^\[]*)(\[\/RED\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT COLOR='$2'>$3</FONT>")
RegExp.Pattern = "(\[RED\])(.[^\[]*)(\[\/RED\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT COLOR='#FF0000'>$2</FONT>")
RegExp.Pattern = "(\[GREEN\])(.[^\[]*)(\[\/GREEN\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT COLOR='#009900'>$2</FONT>")
RegExp.Pattern = "(\[BLUE\])(.[^\[]*)(\[\/BLUE\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT COLOR='#000099'>$2</FONT>")
RegExp.Pattern = "(\[GRAY\])(.[^\[]*)(\[\/GRAY\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT COLOR='#999999'>$2</FONT>")
RegExp.Pattern = "(\[S\])(.[^\[]*)(\[\/S\])"
strNewValue = RegExp.Replace(strNewValue,"<FONT STYLE='TEXT-DECORATION:LINE-THROUGH'>$2</FONT>")
RegExp.Pattern = "(\[I\])(.[^\[]*)(\[\/I\])"
strNewValue = RegExp.Replace(strNewValue,"<I>$2</I>")
RegExp.Pattern = "(\[U\])(.[^\[]*)(\[\/U\])"
strNewValue = RegExp.Replace(strNewValue,"<U>$2</U>")
RegExp.Pattern = "(\[ALIGN=(.[^\[]*)\])(.[^\[]*)(\[\/ALIGN\])"
strNewValue = RegExp.Replace(strNewValue,"<DIV ALIGN='$2'>$3</DIV>")
RegExp.Pattern = "(\[CENTER\])(.[^\[]*)(\[\/CENTER\])"
strNewValue = RegExp.Replace(strNewValue,"<CENTER>$2</CENTER>")
RegExp.Pattern = "(\[EMAIL\])(.[^\[]*)(\[\/EMAIL\])"
strNewValue = RegExp.Replace(strNewValue,"<A HREF='MAILTO:$2'>$2</A>")
RegExp.Pattern = "(\[EMAIL=(.[^\[]*)\])(.[^\[]*)(\[\/EMAIL\])"
strNewValue = RegExp.Replace(strNewValue,"<A HREF='MAILTO:$2'>$3</A>")
RegExp.Pattern = "(\[FLY\])(.[^\[]*)(\[\/FLY\])"
strNewValue = RegExp.Replace(strNewValue,"<MARQUEE SCROLLAMOUT='3' BEHAVIOR='ALTERNATE' WIDTH='98%'>$2</MARQUEE>")
RegExp.Pattern = "(\[MOVE\])(.[^\[]*)(\[\/MOVE\])"
strNewValue = RegExp.Replace(strNewValue,"<MARQUEE SCROLLAMOUT='3'>$2</MARQUEE>")
RegExp.Pattern = "(\[MP=([0-9]*),([0-9]*)\])(.[^\[]*)(\[\/MP\])"
strNewValue = RegExp.Replace(strNewValue,"<OBJECT ALIGN='MIDDLE' CLASSID='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95' CLASS='OBJECT' ID='MEDIAPLAYER' WIDTH='$2' HEIGHT='$3'><PARAM NAME='SHOWSTATUSBAR' VALUE='-1'><PARAM NAME='FILENAME' VALUE='$4'><EMBED TYPE='APPLICATION/X-OLEOBJECT' CODEBASE='HTTP://ACTIVEX.MICROSOFT.COM/ACTIVEX/CONTROLS/MPLAER/EN/NSMP2INF.CAB#VERSION=5,1,52,701' FILENAME=MP SRC='$4' WIDTH='$2' HEIGHT='$3'></EMBED></OBJECT>")
RegExp.Pattern = "(\[FLASH\])(.[^\[]*)(\[\/FLASH\])"
strNewValue = RegExp.Replace(strNewValue,"<OBJECT CODEBASE='HTTP://DOWNLOAD.MACROMEDIA.COM/PUB/SHOCKWAVE/CABS/FLASH/SWFLASH.CAB#VERSION=4,0,2,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/S-SHOCKWAVE-FLASH' WIDTH='500' HEIGHT='400'>$2</EMBED></OBJECT>")
RegExp.Pattern = "(\[QT=([0-9]*),([0-9]*)\])(.[^\[]*)(\[\/QT\])"
strNewValue = RegExp.Replace(strNewValue,"<EMBED SRC='$4' WIDTH='$2' HEIGHT='$3' AUTOPLAY='TRUE' LOOP='FALS'E CONTROLLER='TRUE' PLAYEVERYFRAME='FALSE' CACHE=FALSE SCALE='TOFIT' BGCOLOR='#000000' KIOSKMODE='FALSE' TARGETCACHE='FALSE' PLUGINSPAGE='HTTP://WWW.APPLE.COM/QUICKTIME/'>")
RegExp.Pattern = "(\[RM=([0-9]*),([0-9]*)\])(.[^\[]*)(\[\/RM\])"
strNewValue = RegExp.Replace(strNewValue,"<OBJECT CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA' CLASS='OBJECT' ID='RAOCX' WIDTH='$2' HEIGHT='$3'><PARAM NAME='SRC' VALUE='$4'><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='$3'><PARAM NAME='SRC' VALUE='$4'><PARAM NAME='AUTOSTART' VALUE='-1'><PARAM NAME='CONTROLS' VALUE='CONTROLPANEL'><PARAM NAME='CONSOLE' VALUE='CLIP1'></OBJECT>")
End If
UBBCode = LCase(strNewValue)
'输出错误
If Err.Number>0 Then
Response.Write Err.Description
Response.End
End If
End Function
'----------------------------------------------------------'
'-------------------HTMLEncode Function--------------------'
'----------------------------------------------------------'
Function HTMLEncode(ByVal strValue)
'忽略错误
On Error Resume Next
'定义变量
Dim strNewValue
If strValue <> "" Then
strValue = Server.HTMLEncode(strValue)
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
response.write content = UBBCode(Request.Form("content"))
%>
法二
此段代码部分是从网上其他资料里获得,然后我加以修改及完善,用了比较笨拙的办法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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -