📄 ubbcode.asp
字号:
<!-- #include file=Ubbcode_Setup.asp -->
<%
Function htmlEncode(str)
If str & "" <> "" Then
htmlEncode=Replace(Replace(Replace(str,">",">"),"<","<"),"""",""")
Else
htmlEncode=str
End If
End Function
Dim MyHomeUrl,ConvertFlag
ConvertFlag = 1
MyHomeUrl = ""
Function PrintTrueText(tempString)
If tempString<>"" Then
PrintTrueText=Replace(Replace(Replace(Replace(Replace(htmlEncode(tempString),VbCrLf & " ","<br>" & " "),VbCrLf,"<br>" & VbCrLf)," "," ")," "," "),chr(9)," ")
If Left(PrintTrueText,1) = chr(32) Then
PrintTrueText = " " & Mid(PrintTrueText,2)
End If
Else
PrintTrueText=""
End If
End Function
Function clearUbbcode(str)
Dim n,m,str2
n = inStr(1,str,"[",0)
if n > 0 Then
m = inStr(n + 1,str,"]",0)
Else
m = 0
End If
str2 = str
Do while n > 0 and n < m and m > 0
str2 = Left(str2,n-1) & Mid(str2,m+1)
n = inStr(1,str2,"[",0)
if n > 0 Then
m = inStr(n + 1,str2,"]",0)
Else
m = 0
End If
Loop
clearUbbcode = str2
End Function
Function ClearTrTd(Str)
Dim n,m,i,str2,T1,T2,T11
T1 = "[table="
T11 = "[table]"
T2 = "[/table]"
str2 = Str
n = inStr(1,Lcase(Str),T1,0)
i = inStr(1,Lcase(Str),T11,0)
If n > i and i > 0 Then n = i
If n = 0 Then n = i
if n > 0 Then
m = inStr(n + 1,Lcase(Str),T2,0)
Else
m = 0
End If
Dim SS,Max,TStr1,Tstr2
SS = ""
Max = m
If n < 1 or n >= m Then
str2 = Replace(str2, "[tr]", "")
str2 = Replace(str2, "[TR]", "")
str2 = Replace(str2, "[/tr]", "")
str2 = Replace(str2, "[/TR]", "")
str2 = Replace(str2, "[td]", "")
str2 = Replace(str2, "[TD]", "")
str2 = Replace(str2, "[/td]", "")
str2 = Replace(str2, "[/TD]", "")
ClearTrTd = Str2
Exit Function
End If
dim re
set re = New RegExp
re.Global = True
re.IgnoreCase = True
Dim Tstr3
Do while n > 0 and n < m
TStr1 = Left(Str2,n-1)
TStr1 = Replace(TStr1, "[tr]", "")
TStr1 = Replace(TStr1, "[TR]", "")
TStr1 = Replace(TStr1, "[/tr]", "")
TStr1 = Replace(TStr1, "[/TR]", "")
TStr1 = Replace(TStr1, "[td]", "")
TStr1 = Replace(TStr1, "[TD]", "")
TStr1 = Replace(TStr1, "[/td]", "")
TStr1 = Replace(TStr1, "[/TD]", "")
re.Pattern="\[table\]"
TStr1 = re.Replace(TStr1,"")
re.Pattern="\[table=([A-Za-z0-9\=\./\?%\-&_~`@$\(\)[,\':+!#]+)\]"
TStr1 = re.Replace(TStr1,"")
re.Pattern="\[\/table]"
TStr1 = re.Replace(TStr1,"")
TStr2 = Mid(Str2,n,m+8-n)
Tstr3 = Left(Tstr2,7)
Tstr2 = Mid(Tstr2,8,m-n-7)
re.Pattern="\[table\]"
TStr2 = re.Replace(TStr2,"")
re.Pattern="\[table=([A-Za-z0-9\=\./\?%\-&_~`@$\(\)[,\':+!#]+)\]"
TStr2 = re.Replace(TStr2,"")
re.Pattern="\[\/table]"
TStr2 = re.Replace(TStr2,"")
SS = SS & TStr1 & UCase(Tstr3) & TStr2 & "[/TABLE]"
str2 = Mid(str2,m+8)
n = inStr(1,Lcase(Str2),T1,0)
i = inStr(1,Lcase(Str2),T11,0)
If n > i and i > 0 Then n = i
If n = 0 Then n = i
if n > 0 Then
m = inStr(n + 1,Lcase(Str2),T2,0)
Else
m = 0
End If
Loop
Str2 = Replace(Str2, "[tr]", "")
Str2 = Replace(Str2, "[TR]", "")
Str2 = Replace(Str2, "[/tr]", "")
Str2 = Replace(Str2, "[/TR]", "")
Str2 = Replace(Str2, "[td]", "")
Str2 = Replace(Str2, "[TD]", "")
Str2 = Replace(Str2, "[/td]", "")
Str2 = Replace(Str2, "[/TD]", "")
re.Pattern="\[table\]"
Str2 = re.Replace(Str2,"")
re.Pattern="\[table=([A-Za-z0-9\=\./\?%\-&_~`@$\(\)[,\':+!#]+)\]"
Str2 = re.Replace(Str2,"")
re.Pattern="\[\/table]"
TStr1 = re.Replace(Str2,"")
SS = SS & Str2
ClearTrTd = SS
Set Re = Nothing
End Function
Function notubb(str)
dim vstr1
vstr1=clearUbbcode(str)
vstr1=ClearTrTd(vstr1)
notubb=vstr1
End Function
Function UBB_Code(Str)
Dim USC,LoopN
USC = Str
USC = PrintTrueText(USC)
USC = Replace(USC,VbCrLf,chr(3))
dim re
set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.Pattern="(javascript|jscript|js|about|file|vbscript|vbs)(:)"
USC=re.Replace(USC,"$1:")
're.Pattern="(value)"
'USC=re.Replace(USC,"value")
re.Pattern="(document)(.)(cookie)"
USC=re.Replace(USC,"$1.$3")
re.Pattern="(on(mouse|exit|error|click|key))"
USC=re.Replace(USC,"on$2")
USC = ClearTrTd(USC)
If DEF_EnableImagesUBB = 1 then
re.Pattern="(\[\/IMGA\])"
USC=re.Replace(USC,"[/IMGA]" & VbCrLf)
re.Pattern="\[IMGA=*([0-9]*),(absmiddle|left|right|top|middle|bottom|absbottom|baseline|texttop)\](/|../|http://|https://|ftp://)([A-Za-z0-9\./=\?%\-&_~`@$\(\)[\]\':+!#]+)\[\/IMGA]"
USC=re.Replace(USC,"<IMG onmouseover=""javascript:if(this.width>500)this.width=500;"" style=""CURSOR: hand"" onclick=javascript:window.open(this.src); src=""$3$4"" onload=""javascript:if(this.width>500)this.width=500;"" align=$2 border=$1>")
're.Pattern="\[IMGA\](/|../|http://|https://|ftp://)([A-Za-z0-9\./=\?%\-&_~`@$\(\)[\]\':+!#]+)\[\/IMGA]"
re.Pattern="\[IMGA\](/|../|http://|https://|ftp://)(.[^\[]*)\[\/IMGA]"
USC=re.Replace(USC,"<IMG onmouseover=""javascript:if(this.width>500)this.width=500;"" style=""CURSOR: hand"" onclick=javascript:window.open(this.src); src=""$1$2"" onload=""javascript:if(this.width>500)this.width=500;"" align=absmiddle border=0>")
USC = Replace(USC,VbCrLf,"")
re.Pattern="(\[\/IMG\])"
USC=re.Replace(USC,"[/IMG]" & VbCrLf)
re.Pattern="\[IMG=*([0-9]*),(absmiddle|left|right|top|middle|bottom|absbottom|baseline|texttop)\](/|../|http://|https://|ftp://)([A-Za-z0-9\./=\?%\-&_~`@$\(\)[\]\':+!#]+)\[\/IMG]"
USC=re.Replace(USC,"<IMG onmouseover=""javascript:if(this.width>500)this.width=500;"" src=""$3$4"" onload=""javascript:if(this.width>500)this.width=500;"" align=$2 border=$1>")
're.Pattern="\[IMG\](/|../|http://|https://|ftp://)([A-Za-z0-9\./=\?%\-&_~`@$\(\)[\]\':+!#]+)\[\/IMG]"
re.Pattern="\[IMG\](/|../|http://|https://|ftp://)(.[^\[]*)\[\/IMG]"
USC=re.Replace(USC,"<IMG onmouseover=""javascript:if(this.width>500)this.width=500;"" src=""$1$2"" onload=""javascript:if(this.width>500)this.width=500;"" align=absmiddle border=0>")
USC = Replace(USC,VbCrLf,"")
End If
re.Pattern="(\[\/URL\])"
USC=re.Replace(USC,"[/URL]" & VbCrLf)
re.Pattern="(\[URL\])(.*)(\[\/URL\])"
USC= re.Replace(USC,"<A HREF=""$2"" TARGET=_blank>$2</A>")
USC = Replace(USC,VbCrLf,"")
re.Pattern="(\[\/bgcolor\])"
USC=re.Replace(USC,"[/bgcolor]" & VbCrLf)
re.Pattern="\[bgcolor=*(#*[a-z0-9]*),*(#*[a-z0-9]*)\](.*)\[\/bgcolor\]"
USC=re.Replace(USC,"<font style=""BACKGROUND-COLOR: $1"" color=$2>$3</font>")
USC = Replace(USC,VbCrLf,"")
re.Pattern="(\[\/color\])"
USC=re.Replace(USC,"[/color]" & VbCrLf)
re.Pattern="\[color=*(#*[a-z0-9]*)\](.*)\[\/color\]"
USC=re.Replace(USC,"<font color=""$1"">$2</font>")
USC = Replace(USC,VbCrLf,"")
re.Pattern="(\[EMAIL\])(\S+\@.[^\[]*)(\[\/EMAIL\])"
USC= re.Replace(USC,"<A HREF=""mailto:$2"">$2</A>")
re.Pattern="(\[\/EMAIL\])"
USC=re.Replace(USC,"[/EMAIL]" & VbCrLf)
re.Pattern="(\[EMAIL=(\S+\@.[^\[]*)\])(.*)(\[\/EMAIL\])"
USC= re.Replace(USC,"<A HREF=""mailto:$2"">$3</A>")
USC = Replace(USC,VbCrLf,"")
If DEF_EnableFlashUBB = 1 and ConvertFlag = 1 then
If CheckSupervisorUserName = 1 Then
re.Pattern="\[DIR=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/DIR]"
USC=re.Replace(USC,"<object classid=clsid:166B1BCA-3F9C-11CF-8075-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=7,0,2,0 width=$1 height=$2><param name=src value=$3><embed src=$3 pluginspage=http://www.macromedia.com/shockwave/download/ width=$1 height=$2></embed></object>")
re.Pattern="\[QT=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/QT]"
USC=re.Replace(USC,"<embed src=$3 width=$1 height=$2 autoplay=true loop=false controller=true playeveryframe=false cache=false scale=TOFIT bgcolor=#000000 kioskmode=false targetcache=false pluginspage=http://www.apple.com/quicktime/>")
Else
re.Pattern="\[DIR=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/DIR]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开Shockwave文件,注意此文件可能含有不安全内容]</a>")
re.Pattern="\[QT=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/QT]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开QuickTime文件,注意此文件可能含有不安全内容]</a>")
End If
If CheckSupervisorUserName = 1 Then
re.Pattern="\[MP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
USC=re.Replace(USC,"<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 ><param name=ShowStatusBar value=-1><param name=Filename value=$3><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=$3 width=$1 height=$2></embed><PARAM NAME=AUTOSTART VALUE=0></object>")
Else
re.Pattern="\[MP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开媒体文件,注意此文件可能含有不安全内容]</a>")
End If
If CheckSupervisorUserName = 1 Then
re.Pattern="\[AUTOMP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
USC=re.Replace(USC,"<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 ><param name=ShowStatusBar value=-1><param name=Filename value=$3><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=$3 width=$1 height=$2></embed><PARAM NAME=AUTOSTART VALUE=-1></object>")
Else
re.Pattern="\[AUTOMP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开媒体文件,注意此文件可能含有不安全内容]</a>")
End If
If CheckSupervisorUserName = 1 Then
re.Pattern="\[RM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
USC=re.Replace(USC,"<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2><PARAM NAME=SRC VALUE=$3><PARAM NAME=CONSOLE VALUE=""" & second(DEF_Now) & "$3""><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=0></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1><PARAM NAME=SRC VALUE=$3><PARAM NAME=AUTOSTART VALUE=0><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=""" & second(DEF_Now) & "$3""></OBJECT>")
Else
re.Pattern="\[RM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开Real文件,注意此文件可能含有不安全内容]</a>")
End If
If CheckSupervisorUserName = 1 Then
re.Pattern="\[AUTORM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
USC=re.Replace(USC,"<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2><PARAM NAME=SRC VALUE=$3><PARAM NAME=CONSOLE VALUE=""" & second(DEF_Now) & "$3""><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=-1></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1><PARAM NAME=SRC VALUE=$3><PARAM NAME=AUTOSTART VALUE=0><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=""" & second(DEF_Now) & "$3""></OBJECT>")
Else
re.Pattern="\[AUTORM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
USC= re.Replace(USC,"<a href=""$3"" TARGET=_blank><IMG SRC=FileType/mp3.gif border=0 align=absmiddle height=16 width=16>[点击打开Real文件,注意此文件可能含有不安全内容]</a>")
End If
re.Pattern="(\[FLASH\])(http://|ftp://|../)(.[^\[]*)(.swf)(\[\/FLASH\])"
If CheckSupervisorUserName = 1 Then
USC= re.Replace(USC,"<a href=""$2$3$4"" TARGET=_blank><IMG SRC=FileType/swf.gif border=0 align=absmiddle height=16 width=16>[全屏欣赏]</a><br><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$3$4""><PARAM NAME=quality VALUE=high><embed src=""http://$3$4"" quality=high pluginspage=""http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"" type='application/x-shockwave-flash' width=500 height=400>$2$3$4</embed></OBJECT>")
Else
USC= re.Replace(USC,"<a href=""$2$3$4"" TARGET=_blank><IMG SRC=FileType/swf.gif border=0 align=absmiddle height=16 width=16>[全屏欣赏,注意Flash可能含有不安全内容]</a>")
End If
re.Pattern="(\[FLASH=*([0-9]*),*([0-9]*)\])(http://|ftp://|../)(.[^\[]*)(.swf)(\[\/FLASH\])"
If CheckSupervisorUserName = 1 Then
USC= re.Replace(USC,"<a href=""$4$5$6"" TARGET=_blank><IMG SRC=FileType/swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! height=16 width=16>[全屏欣赏]</a><br><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=$2 height=$3><PARAM NAME=movie VALUE=""$4$5$6""><PARAM NAME=quality VALUE=high><embed src=""$4$5$6"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=$2 height=$3>$4$5$6</embed></OBJECT>")
Else
USC= re.Replace(USC,"<a href=""$4$5$6"" TARGET=_blank><IMG SRC=FileType/swf.gif border=0 align=absmiddle height=16 width=16>[全屏欣赏,注意Flash可能含有不安全内容]</a>")
End If
If ConvertFlag = 1 Then
re.Pattern="(\[sound\])(.[^\[]*)(\[\/sound\])"
USC=re.Replace(USC,"<a href=""$2"" target=_blank><IMG SRC=FileType/mid.gif border=0 alt='背景音乐' height=16 width=16></a><bgsound src=""$2"" loop=""-1"">")
End If
End If
If DEF_UBBiconNumber > 0 then
For LoopN = 1 to DEF_UBBiconNumber
If ConvertFlag = 1 Then
USC=replace(USC,"[EM" & Right(("0" & LoopN),2) & "]","<img src=""UBBicon/em" & Right("0" & LoopN,2) & ".GIF"" align=absmiddle border=0 hspace=2 vspace=1>",1,DEF_MaxUBBNumber,0)
USC=replace(USC,"[em" & Right(("0" & LoopN),2) & "]","<img src=""UBBicon/em" & Right("0" & LoopN,2) & ".GIF"" align=absmiddle border=0 hspace=2 vspace=1>",1,DEF_MaxUBBNumber,0)
Else
USC=replace(USC,"[EM" & Right(("0" & LoopN),2) & "]","<img src=""UBBicon/em" & Right("0" & LoopN,2) & ".GIF"">",1,DEF_MaxUBBNumber,0)
USC=replace(USC,"[em" & Right(("0" & LoopN),2) & "]","<img src=""UBBicon/em" & Right("0" & LoopN,2) & ".GIF"">",1,DEF_MaxUBBNumber,0)
End If
Next
End If
re.Pattern="(\[\/FIELDSET\])"
USC=re.Replace(USC,"[/FIELDSET]" & VbCrLf)
re.Pattern="\[FIELDSET=(.*)\](.*)\[\/FIELDSET\]"
USC=re.Replace(USC,"<FIELDSET><LEGEND>$1</LEGEND>$2</FIELDSET>")
USC = Replace(USC,VbCrLf,"")
If ConvertFlag = 1 Then
re.Pattern="(\[\/face\])"
USC=re.Replace(USC,"[/face]" & VbCrLf)
re.Pattern="\[face=(.[^\[]*)\](.*)\[\/face\]"
USC=re.Replace(USC,"<font face=$1>$2</font>")
USC = Replace(USC,VbCrLf,"")
End If
If ConvertFlag = 1 Then
re.Pattern="(\[\/GLOW\])"
USC=re.Replace(USC,"[/GLOW]" & VbCrLf)
re.Pattern="\[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.*)\[\/GLOW]"
USC=re.Replace(USC,"<table glow width=$1><tr><td style=""filter:glow(color=$2, strength=$3)"">$4</td></tr></table glow>")
USC = Replace(USC,VbCrLf,"")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -