📄 ubb_vb.asp
字号:
<%
function UbbCode(content,iUBB,iType,iReplyType,GetIDstr,replyID,UserName)
if trim(content)="" then
UbbCode=""
exit Function
end if
dim re
if iUBB=2 then
UbbCode=HTMLencode(content)
exit Function
end if
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
content=server.htmlencode(content)
content=ChkBadWords(content)
'noUBB 0 支持所有ubb 1.不支持表情代码 . 2.不支持所有ubb
' 加匹配后 $1 替代变量解决换行回车错误
re.Pattern="(^|\s)((http|https|ftp):\/\/\S+)" '加入 https:// ftp://
content=re.Replace(content,"$1<img src=syspic/url.gif align=absmiddle><a href=""$2"" target=_blank>$2</a>")
re.Pattern="(^|\s)(www\.\S+)"
content=re.Replace(content,"$1<img src=syspic/url.gif align=absmiddle><a href=""http://$2"" target=_blank>$2</a>")
'移动转换回车换行符号的代码位置,纠正识别http://类型的字串
content=LimitReturns(content)
content=ConvertReturns(content)
if boardSet(14)="1" then
if Not(iUBB=1) then content=Smilies(content)
end if
re.Pattern="(\[URL\])(http|https|ftp)(:\/\/\S+?)(\[\/URL\])"
content=re.Replace(content,"<a href=""$2$3"" target=_blank>$2$3</a>")
re.Pattern="(\[URL\])(\S+?)(\[\/URL\])"
content=re.Replace(content,"<a href=""http:\/\/$2"" target=_blank>$2</a>")
re.Pattern="(\[URL=)(http|https|ftp)(:\/\/\S+?)(\])(.+?)(\[\/URL\])"
content=re.Replace(content,"<a href=""$2$3"" target=_blank>$5</a>")
'download
re.Pattern="(\[download=)(http|https|ftp)(:\/\/\S+?)(\])(.+?)(\[\/download\])"
content=re.Replace(content,"<img src=images/download.gif> <a href=""$2$3"" >$5</a>")
re.Pattern="(\[URL=)(\S+?)(\])(.+?)(\[\/URL\])"
content=re.Replace(content,"<a href=""http:\/\/$2"" target=_blank>$4</a>")
'email with descript
re.Pattern="(\[EMAIL=)(\S+\@\S+?)(\])(.+?)(\[\/EMAIL\])"
content=re.Replace(content,"<a href=""mailto:$2"">$4</a>")
re.Pattern="(\[EMAIL\])(\S+\@\S+?)(\[\/EMAIL\])"
content=re.Replace(content,"<a href=""mailto:$2"">$2</a>")
re.Pattern="(\[code\])(.+?)(\[\/code\])"
content=re.Replace(content,"<br><table bgcolor="+colorSet(40)+" width=""100%"" ><tr><td style=""padding:2px;"" width=""98%""><FieldSet style=""padding:10px;""><Legend>代码(code)</Legend><pre><font face=""Verdana, Arial, Helvetica, sans-serif"">$2</font></pre></FieldSet></td></tr></table>")
're.Pattern="(\[IMG\])(\S+?)(\[\/IMG\])"
'content=re.Replace(content,"<img src=""$2"">")
re.Pattern="(\[IMG\])(http|https|ftp)(://\S+?)(\[\/IMG\])"
content=re.Replace(content,"<img src=""$2$3"">")
'调用一个 asp vbs函数检查成对情况以期望匹配
re.Pattern="(\[QUOTE\])(.+?)(\[\/QUOTE\])"
do
content=re.Replace(content,"<BLOCKQUOTE>引用:<hr size=1>$2<hr size=1></BLOCKQUOTE>")
loop while (JSinStr(lcase(content),"[quote]") and JSinStr(lcase(content),"[/quote]"))
re.Pattern="(\[i\])(.+?)(\[\/i\])"
content=re.Replace(content,"<I>$2</I>")
re.Pattern="(\[u\])(.+?)(\[\/u\])"
content=re.Replace(content,"<u>$2</u>")
re.Pattern="(\[b\])(.+?)(\[\/b\])"
content=re.Replace(content,"<b>$2</b>")
re.Pattern="(\[list\])(.+?)(\[\/list\])"
content=re.Replace(content,"<UL TYPE=SQUARE>$2</UL>")
re.Pattern="(\[list=)(A|1)(\])(.+?)(\[\/list\])"
content=re.Replace(content,"<OL TYPE=$2>$4</OL>")
re.Pattern="(\[\*\])"
content=re.Replace(content,"<LI>")
re.Pattern="(\[color=)(\S+?)(\])(.+?)(\[\/color\])"
content=re.Replace(content,"<font color=""$2"">$4</font>")
re.Pattern="(\[h1\])(.+?)(\[\/h1\])"
content=re.Replace(content,"<h1>$2</h1>")
re.Pattern="(\[h2\])(.+?)(\[\/h2\])"
content=re.Replace(content,"<h2>$2</h2>")
re.Pattern="(\[h3\])(.+?)(\[\/h3\])"
content=re.Replace(content,"<h3>$2</h3>")
re.Pattern="(\[h4\])(.+?)(\[\/h4\])"
content=re.Replace(content,"<h4>$2</h4>")
re.Pattern="(\[h5\])(.+?)(\[\/h5\])"
content=re.Replace(content,"<h5>$2</h5>")
re.Pattern="(\[h6\])(.+?)(\[\/h6\])"
content=re.Replace(content,"<h6>$2</h6>")
re.Pattern="(\[sup\])(.+?)(\[\/sup\])"
content=re.Replace(content,"<sup>$2</sup>")
re.Pattern="(\[sub\])(.+?)(\[\/sub\])"
content=re.Replace(content,"<sub>$2</sub>")
re.Pattern="(\[center\])(.+?)(\[\/center\])"
content=re.Replace(content,"<center>$2</center>")
'left
re.Pattern="(\[left\])(.+?)(\[\/left\])"
content=re.Replace(content,"<div align=left>$2</div>")
'right
re.Pattern="(\[right\])(.+?)(\[\/right\])"
content=re.Replace(content,"<div align=right>$2</div>")
'pre
re.Pattern="(\[pre\])(.+?)(\[\/pre\])"
content=re.Replace(content,"<pre>$2</pre>")
re.Pattern="(\[w\])(http|https|ftp)(:\/\/\S+?)(\[\/w\])"
content=re.Replace(content,"<iframe FRAMEBORDER=1 ALIGN=CENTER width=""100%"" HEIGHT=400 SCROLLING=YES SRC=""$2$3""></iframe><br><a href=""$2$3"" target=_blank><b><font color="+colorSet(3)+">点这儿参观页面</font></b></a>")
re.Pattern="(\[f\])(http|https|ftp)(:\/\/\S+?)(\[\/f\])"
content=re.Replace(content,"<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" codebase=""http://www.ubbVBS.com/download/swflash.cab#version=4,0,2,0"" width=500 height=500><param name=movie value=""$2$3""><param name=quality value=high><embed src=""$2$3"" quality=high pluginspage=""http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""application/x-shockwave-flash"" width=500 height=500></embed></object>")
re.Pattern="(\[F W=)(\d+)( H=)(\d+)(\])(http|https|ftp)(:\/\/\S+?)(\[\/F\])"
content=re.Replace(content,"<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" codebase=""http:\/\/www.ubbVBS.com\/download\/swflash.cab\#version=4,0,2,0"" width=""$2"" height=""$4""><param name=movie value=""$6$7""><param name=quality value=high><embed src=""$6$7"" quality=high pluginspage=""http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""application\/x-shockwave-flash"" width=""$2"" height=""$4""></embed></object>")
re.Pattern="(\[F W=)(\d+)( H=)(\d+)(\])(\S+?)(\[\/F\])"
content=re.Replace(content,"<object classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" codebase=""http:\/\/www.ubbVBS.com\/download\/swflash.cab\#version=4,0,2,0"" width=""$2"" height=""$4""><param name=movie value=""http:\/\/$6""><param name=quality value=high><embed src=""http:\/\/$6"" quality=high pluginspage=""http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash"" type=""application\/x-shockwave-flash"" width=""$2"" height=""$4""></embed></object>")
UbbCode=content
End Function
'转换回车换行制表符号
Function ConvertReturns(content)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="\n\r\n"
content=re.Replace(content,"<p>")
re.Pattern="\n"
content=re.Replace(content,"<br>")
re.Pattern="\r"
content=re.Replace(content,"")
re.Pattern="(<p>){2,}"
content=re.Replace(content,"<p>")
re.Pattern="(<br><br>){2,}"
content=re.Replace(content,"<br>")
re.Pattern="<!"
content=re.Replace(content,"< !")
ConvertReturns=content
End Function
'多个回车合并
Function LimitReturns(content)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="\n{2,}"
content=re.Replace(content,"\n")
re.Pattern="(\n\r\n){2,}"
content=re.Replace(content,"\n\r\n")
re.Pattern="\r{2,}"
content=re.Replace(content,"\r")
LimitReturns=content
End Function
Function Smilies(content) '笑脸转换
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="\?\:\("
content=re.Replace(content,"<img src=""syspic/UBBexpression/confused.gif"">")
re.Pattern="\:\(\)"
content=re.Replace(content,"<img src=""syspic/UBBexpression/mad.gif"">")
re.Pattern="\:\)"
content=re.Replace(content,"<img src=""syspic/UBBexpression/smile.gif"">")
re.Pattern="\:\("
content=re.Replace(content,"<img src=""syspic/UBBexpression/frown.gif"">")
re.Pattern="\:o"
content=re.Replace(content,"<img src=""syspic/UBBexpression/redface.gif"">")
re.Pattern=":D"
content=re.Replace(content,"<img src=""syspic/UBBexpression/biggrin.gif"">")
re.Pattern=";\)"
content=re.Replace(content,"<img src=""syspic/UBBexpression/wink.gif"">")
re.Pattern=":Q"
content=re.Replace(content,"<img src=""syspic/UBBexpression/tongue.gif"">")
re.Pattern=":j"
content=re.Replace(content,"<img src=""syspic/UBBexpression/eek.gif"">")
re.Pattern=":l"
content=re.Replace(content,"<img src=""syspic/UBBexpression/rolleyes.gif"">")
re.Pattern=":k"
content=re.Replace(content,"<img src=""syspic/UBBexpression/cool.gif"">")
Smilies=content
End Function
Function JSinStr(str,str1)
dim ccstr
JSinStr=false
ccstr=inStr(str,str1)
if ccstr>0 then JSinStr=true
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -