⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ubb_vb.asp

📁 用ASP实现的论坛开发
💻 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 + -