📄 dv_ubbcode.asp
字号:
<%
Dim UserPointInfo(4)
'UBB代码勘套循环的最多次数,避免死循环加入此变量
Const MaxLoopcount=100
%>
<script language=vbscript runat=server>
Dim Ubblists
'[/img]编号:1.[/upload]编号:2.[/dir]编号:3.[/qt]编号:4.[/mp]编号:5.
'[/rm]编号:6.[/sound]编号:7.[/flash]编号:8.[/money]编号:9.[/point]编号:10.
'[/usercp]编号:11.[/power]编号:12.[/post]编号:13.[/replyview]编号:14.[/usemoney]编号:15.
'[/url]编号:16.[/email]编号:17.http编号:18.https编号:19.ftp编号:20.rtsp编号:21.
'mms编号:22.[/html]编号:23.[/code]编号:24.[/color]编号:25.[/face]编号:26.[/align]编号:27.
'[/quote]编号:28.[/fly]编号:29.[/move]编号:30.[/shadow]编号:31.[/glow]编号:32.[/size]编号:33.
'[/i]编号:34.[/b]编号:35.[/u]编号:36.[em编号:37.www.编号:38.
Class Dvbbs_UbbCode
Public Re,reed,isgetreed
'论坛内容部分UBBCODE,入口:内容、用户组ID、模式(1=帖子/2=公告、短信等)、模式2(0=新版/1=老版)
Public Function Dv_UbbCode(s,PostUserGroup,PostType,sType)
Dim ii,ranNum
If PostType=2 Then
Dvbbs.Board_Setting=Split("1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1",",")
Dvbbs.Board_Setting(6)=1
Dvbbs.Board_Setting(5)=0:Dvbbs.Board_Setting(7)=1
Dvbbs.Board_Setting(8)=1:Dvbbs.Board_Setting(9)=1
Dvbbs.Board_Setting(10)=0:Dvbbs.Board_Setting(11)=0
Dvbbs.Board_Setting(12)=0:Dvbbs.Board_Setting(13)=0
Dvbbs.Board_Setting(14)=0:Dvbbs.Board_Setting(15)=0
Dvbbs.Board_Setting(23)=0:Dvbbs.Board_Setting(44)=0
End If
If Dvbbs.UserID=0 Then
UserPointInfo(0)=0:UserPointInfo(1)=0:UserPointInfo(2)=0:UserPointInfo(3)=0:UserPointInfo(4)=0
Else
UserPointInfo(0)=Dvbbs.MyUserInfo(21):UserPointInfo(1)=Dvbbs.MyUserInfo(22):UserPointInfo(2)=Dvbbs.MyUserInfo(23):UserPointInfo(3)=Dvbbs.MyUserInfo(24):UserPointInfo(4)=Dvbbs.MyUserInfo(8)
End If
Dim po
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
If (Not InStr(Ubblists,",39,")>0) Or Ubblists="" Or IsNull(Ubblists) Then '老贴子
If not Isnull(s) then s=Server.HtmlEnCode(s) else s=""
End If
re.Pattern="(<br>)"
s=re.Replace(s,"[br]")
re.Pattern="(<s+cript(.[^>]*)>)"
s=re.Replace(s,"<Script$2>")
re.Pattern="(<\/s+cript>)"
s=re.Replace(s,"</Script>")
'如果论坛没开放HTML脚本,拦截所有标记和脚本
If Dvbbs.Board_Setting(5)="0" Then
re.Pattern="(<(i|b|p)>)"
s=re.Replace(s,"[$2]")
re.Pattern="(<(\/i|\/b|\/p)>)"
s=re.Replace(s,"[$2]")
re.Pattern="(<DIV class=quote>)((.|\n)*)(<\/div>)"
s=re.Replace(s,"[quote]$2[/quote]")
'先去掉标记中的换行
re.Pattern="(>)("&vbNewLine&")(<)"
s=re.Replace(s,"$1$3")
re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)"
s=re.Replace(s,"$1$3")
re.Pattern="<(.[^>]*)>"
s=re.Replace(s,"")
re.Pattern="(\[(i|b|p)\])"
S=re.Replace(S,"<$2>")
re.Pattern="(\[(\/i|\/b|\/p)\])"
S=re.Replace(s,"<$2>")
If Dv_FilterJS2(s)Then
re.Pattern="\[(br)\]"
s=re.Replace(s,"<$1>")
re.Pattern = "( )"
s = re.Replace(s,Chr(9))
re.Pattern = "(<br>)"
s = re.Replace(s,vbNewLine)
re.Pattern = "(<p>)"
s = re.Replace(s,"")
re.Pattern = "(<\/p>)"
s = re.Replace(s,vbNewLine)
s=server.htmlencode(s)
s="<form name=""scode"&replyid&""" method=""post"" action=""""><TABLE class=tableborder2 cellSpacing=1 cellPadding=3 width=""100%"" align=center border=0><TR><TH height=22>以下内容含脚本,或可能导致页面不正常的代码</TH></TR><TR><TD class=tablebody1 align=middle width=""98%""><TEXTAREA id=CodeText style=""BORDER-RIGHT: 1px dotted; BORDER-TOP: 1px dotted; OVERFLOW-Y: visible; OVERFLOW: visible; BORDER-LEFT: 1px dotted; WIDTH: 98%; COLOR: #000000; BORDER-BOTTOM: 1px dotted"" rows=20 cols=120>"&s&"</TEXTAREA></TD></TR><TR><TD class=tablebody2 align=middle width=""98%""><b>说明:</b>上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.</td></tr><TR><TD class=tablebody1 align=middle width=""98%""><input type=""button"" name=""run"" value=""运行代码"" onclick=""Dvbbs_ViewCode("&replyid&");""></TD></TR></TABLE></form>"
s = Replace(s, vbNewLine, "")
s = Replace(s, CHR(10), "")
s = Replace(s, CHR(13), "")
Dv_UbbCode=s
Exit Function
End If
Else
If Dv_FilterJS(s)Then
re.Pattern="\[(br)\]"
s=re.Replace(s,"<$1>")
re.Pattern = "( )"
s = re.Replace(s,Chr(9))
re.Pattern = "(<br>)"
s = re.Replace(s,vbNewLine)
re.Pattern = "(<p>)"
s = re.Replace(s,"")
re.Pattern = "(<\/p>)"
s = re.Replace(s,vbNewLine)
s=server.htmlencode(s)
s="<form name=""scode"&replyid&""" method=""post"" action=""""><TABLE class=tableborder2 cellSpacing=1 cellPadding=3 width=""100%"" align=center border=0><TR><TH height=22>以下内容含脚本,或可能导致页面不正常的代码</TH></TR><TR><TD class=tablebody1 align=middle width=""98%""><TEXTAREA id=CodeText style=""BORDER-RIGHT: 1px dotted; BORDER-TOP: 1px dotted; OVERFLOW-Y: visible; OVERFLOW: visible; BORDER-LEFT: 1px dotted; WIDTH: 98%; COLOR: #000000; BORDER-BOTTOM: 1px dotted"" rows=20 cols=120>"&s&"</TEXTAREA></TD></TR><TR><TD class=tablebody2 align=middle width=""98%""><b>说明:</b>上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.</td></tr><TR><TD class=tablebody1 align=middle width=""98%""><input type=""button"" name=""run"" value=""运行代码"" onclick=""Dvbbs_ViewCode("&replyid&");""></TD></TR></TABLE></form>"
s = Replace(s, vbNewLine, "")
s = Replace(s, CHR(10), "")
s = Replace(s, CHR(13), "")
Dv_UbbCode=s
Exit Function
End If
re.Pattern="<((asp|\!|%))"
s=re.Replace(s,"<$1")
re.Pattern="(>)("&vbNewLine&")(<)"
s=re.Replace(s,"$1$3")
re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)"
s=re.Replace(s,"$1$3")
End If
s = Replace(s, " ", " ")
s = Replace(s, " ", " ")
re.Pattern="<(\w+)( )+([^>]*)>"
s = re.Replace(s,"<$1 $3>")
s = Replace(s, vbNewLine, "<br>")
s = Replace(s, CHR(10), "")
s = Replace(s, CHR(13), "")
s = Replace(s, "[br]", "<br>")
s=dv_fixHTML(s)
'去掉图片中的脚本代码
re.Pattern="<IMG.[^>]*SRC(=| )(.[^>]*)>"
s=re.replace(s,"<IMG SRC=$2 onclick=""javascript:window.open(this.src);"" style=""CURSOR: pointer"">")
s=Dv_UbbCode_Abl(s)
If (Trim(UbbLists)=",39," Or Trim(UbbLists)=",39,40,") And Not InStr(Lcase(s),"[username")>0 Then
Dv_UbbCode=s
Exit Function
End If
'img code
If InStr(Ubblists,",1,")>0 Or sType=1 Then s=Dv_UbbCode_S2(s,"\[IMG\]","\[\/IMG\]","IMG","<a onfocus=this.blur() href=""$1"" target=_blank title=新窗口打开><IMG SRC=""$1"" border=0></a>","<IMG SRC=""skins/default/filetype/gif.gif"" border=0><a onfocus=this.blur() href=""$1"" target=_blank>$1</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(7)))
'upload code
If InStr(Ubblists,",2,")>0 Or sType=1 Then s=Dv_UbbCode_U(s,PostUserGroup,Cint(Dvbbs.Board_Setting(7)))
'media code
If InStr(Ubblists,",3,")>0 Or sType=1 Then s=Dv_UbbCode_iS2(s,"\[DIR=(.[^\[]*)\]","\[\/DIR\]","DIR","<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>","<a href=$3 target=_blank>$3</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*)")
If InStr(Ubblists,",4,")>0 Or sType=1 Then s=Dv_UbbCode_iS2(s,"\[QT=(.[^\[]*)\]","\[\/QT\]","QT","<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/>","<a href=$3 target=_blank>$3</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*)")
If InStr(Ubblists,",5,")>0 Or sType=1 Then
s=Dv_UbbCode_iS2(s,"\[MP=(.[^\[]*)\]","\[\/MP\]","MP","<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></object>","<a href=""$3"" target=_blank>$3</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*)")
'Dv7 MediaPlayer自定义播放模式;
s=Dv_UbbCode_iS2(s,"\[MP=(.[^\[]*)\]","\[\/MP\]","MP","<object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 ><PARAM NAME=AUTOSTART VALUE=$3 ><param name=ShowStatusBar value=-1><param name=Filename value=$4><embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=""$4"" width=$1 height=$2></embed></object>","<a href=""$4"" target=_blank>$4</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*),*([0|1|true|false]*)")
End If
If InStr(Ubblists,",6,")>0 Or sType=1 Then
s=Dv_UbbCode_iS2(s,"\[RM=(.[^\[]*)\]","\[\/RM\]","RM","<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=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=$1><PARAM NAME=SRC VALUE=""$3""><PARAM NAME=AUTOSTART VALUE=-1><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=Clip1></OBJECT>","<a href=$3 target=_blank>$3</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*)")
'Dv7 RealPlayer自定义播放模式;
s=Dv_UbbCode_iS2(s,"\[RM=(.[^\[]*)\]","\[\/RM\]","RM","<OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2><PARAM NAME=SRC VALUE=""$4""><PARAM NAME=CONSOLE VALUE=""$4""><PARAM NAME=CONTROLS VALUE=imagewindow><PARAM NAME=AUTOSTART VALUE=$3 ></OBJECT><br><OBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=""video"" width=$1><PARAM NAME=SRC VALUE=""$4""><PARAM NAME=AUTOSTART VALUE=$3><PARAM NAME=CONTROLS VALUE=controlpanel><PARAM NAME=CONSOLE VALUE=""$4""></OBJECT>","<a href=$4 target=_blank>$4</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)),"=*([0-9]*),*([0-9]*),*([0|1|true|false]*)")
End If
If InStr(Ubblists,",7,")>0 Or sType=1 Then s=Dv_UbbCode_S2(s,"\[sound\]","\[\/sound\]","sound","<a href=""$1"" target=_blank><IMG SRC=skins/default/filetype/mid.gif border=0 alt=""背景音乐""></a><bgsound src=""$1"" loop=""-1"">","<a href=$1 target=_blank>$1</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(9)))
'flash code
If InStr(Ubblists,",8,")>0 Or sType=1 Then
s=Dv_UbbCode_S2(s,"\[FLASH\]","\[\/FLASH\]","FLASH","<a href=""$1"" TARGET=_blank><IMG SRC=skins/default/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=500 height=400><PARAM NAME=movie VALUE=""$1""><PARAM NAME=quality VALUE=high><embed src=""$1"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=500 height=400>$1</embed></OBJECT>","<IMG SRC="&Dvbbs.Forum_info(7)&"swf.gif border=0><a href=$1 target=_blank>$1</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(44)))
s=Dv_UbbCode_iS2(s,"\[FLASH=(.[^\[]*)\]","\[\/FLASH\]","FLASH","<a href=""$3"" TARGET=_blank><IMG SRC=skins/default/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=$1 height=$2><PARAM NAME=movie VALUE=""$3""><PARAM NAME=quality VALUE=high><embed src=""$3"" quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=$1 height=$2>$3</embed></OBJECT>","<a href=$3 target=_blank>$3</a>",PostUserGroup,Cint(Dvbbs.Board_Setting(44)),"=*([0-9]*),*([0-9]*)")
End If
'point view
If InStr(Ubblists,",9,")>0 Or sType=1 Then s=Dv_UbbCode_Get(s,PostUserGroup,PostType,"\[money=*([0-9]*)\]","\[\/money\]","money","$1<hr noshade size=1><font color=gray>以下内容需要金钱数达到<B>$3</B>才可以浏览</font><BR>$4<hr noshade size=1>$6","$1<hr noshade size=1><font color="&Dvbbs.Mainsetting(1)&">以下内容需要金钱数达到<B>$3</B>才可以浏览</font><hr noshade size=1>$6",UserPointInfo(0),Cint(Dvbbs.Board_Setting(10)))
If InStr(Ubblists,",10,")>0 Or sType=1 Then s=Dv_UbbCode_Get(s,PostUserGroup,PostType,"\[point=*([0-9]*)\]","\[\/point\]","point","$1<hr noshade size=1><font color=gray>以下内容需要积分达到<B>$3</B>才可以浏览</font><BR>$4<hr noshade size=1>$6","$1<hr noshade size=1><font color="&Dvbbs.Mainsetting(1)&">以下内容需要积分达到<B>$3</B>才可以浏览</font><hr noshade size=1>$6",UserPointInfo(1),Cint(Dvbbs.Board_Setting(11)))
If InStr(Ubblists,",11,")>0 Or sType=1 Then s=Dv_UbbCode_Get(s,PostUserGroup,PostType,"\[UserCP=*([0-9]*)\]","\[\/UserCP\]","UserCP","$1<hr noshade size=1><font color=gray>以下内容需要魅力达到<B>$3</B>才可以浏览</font><BR>$4<hr noshade size=1>$6","$1<hr noshade size=1><font color="&Dvbbs.Mainsetting(1)&">以下内容需要魅力达到<B>$3</B>才可以浏览</font><hr noshade size=1>$6",UserPointInfo(2),Cint(Dvbbs.Board_Setting(12)))
If InStr(Ubblists,",12,")>0 Or sType=1 Then s=Dv_UbbCode_Get(s,PostUserGroup,PostType,"\[Power=*([0-9]*)\]","\[\/Power\]","Power","$1<hr noshade size=1><font color=gray>以下内容需要威望达到<B>$3</B>才可以浏览</font><BR>$4<hr noshade size=1>$6","$1<hr noshade size=1><font color="&Dvbbs.Mainsetting(1)&">以下内容需要威望达到<B>$3</B>才可以浏览</font><hr noshade size=1>$6",UserPointInfo(3),Cint(Dvbbs.Board_Setting(13)))
If InStr(Ubblists,",13,")>0 Or sType=1 Then s=Dv_UbbCode_Get(s,PostUserGroup,PostType,"\[Post=*([0-9]*)\]","\[\/Post\]","Post","$1<hr noshade size=1><font color=gray>以下内容需要帖子数达到<B>$3</B>才可以浏览</font><BR>$4<hr noshade size=1>$6","$1<hr noshade size=1><font color="&Dvbbs.Mainsetting(1)&">以下内容需要帖子数达到<B>$3</B>才可以浏览</font><hr noshade size=1>$6",UserPointInfo(4),Cint(Dvbbs.Board_Setting(14)))
If InStr(Ubblists,",14,")>0 Or sType=1 Then s=UBB_REPLYVIEW(s,PostUserGroup,PostType)
If InStr(Ubblists,",15,")>0 Or sType=1 Then s=UBB_USEMONEY(s,PostUserGroup,PostType)
'url code
If InStr(Ubblists,",16,")>0 Or sType=1 Then
s=Dv_UbbCode_S1(s,"\[URL\]","\[\/URL\]","URL","<A HREF=""$1"" TARGET=_blank>$1</A>")
're.Pattern="(\[URL=(.[^:\/\/|\[]*)\])(.[^\[]*)(\[\/URL\])"
's= re.Replace(s,"<A HREF=""$2"" TARGET=_blank>$3</A>")
re.Pattern="(\[URL=(.[^\[]*)\])(.[^\[]*)(\[\/URL\])"
s= re.Replace(s,"<A HREF=""$2"" TARGET=_blank>$3</A>")
End If
'email code
If InStr(Ubblists,",17,")>0 Or sType=1 Then
s=Dv_UbbCode_S1(s,"\[EMAIL\]","\[\/EMAIL\]","EMAIL","<img align=absmiddle src=skins/default/email1.gif ><A HREF=""mailto:$1"">$1</A>")
re.Pattern="(\[EMAIL=(\S+\@.[^\[]*)\])(.[^\[]*)(\[\/EMAIL\])"
s= re.Replace(s,"<img align=absmiddle src=skins/default/email1.gif ><A HREF=""mailto:$2"" TARGET=_blank>$3</A>")
End If
If InStr(Ubblists,",37,")>0 Or sType=1 Then
If (Cint(Dvbbs.Board_Setting(8)) = 1 Or PostUserGroup<4) And InStr(Lcase(s),"[em")>0 Then
re.Pattern="\[em(.[^\[]*)\]"
s=re.Replace(s,"<img src="&EmotPath&"em$1.gif border=0 align=middle>")
Else
re.Pattern="\[em(.[^\[]*)\]"
s=re.Replace(s,"")
End If
End If
If InStr(Ubblists,",23,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[HTML\]","\[\/HTML\]","HTML","<table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""6"" class="""&abgcolor&"""><td><b>以下内容为程序代码:</b><br>$1</td></table>")
If InStr(Ubblists,",24,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[code\]","\[\/code\]","code","<div class=htmlcode><b>以下内容为程序代码:</b><br>$1</div>")
If InStr(Ubblists,",25,")>0 Or sType=1 Then s=Dv_UbbCode_C(s)
If InStr(Ubblists,",26,")>0 Or sType=1 Then s=Dv_UbbCode_F(s)
If InStr(Ubblists,",27,")>0 Or sType=1 Then s=Dv_UbbCode_Align(s)
If InStr(Lcase(s),"center]")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[center\]","\[\/center\]","center","<div align=center>$1</div>")
If InStr(Ubblists,",28,")>0 Or sType=1 Then s=Dv_UbbCode_Q(s)
If InStr(Ubblists,",29,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[fly\]","\[\/fly\]","fly","<marquee width=90% behavior=alternate scrollamount=3>$1</marquee>")
If InStr(Ubblists,",30,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[move\]","\[\/move\]","move","<MARQUEE scrollamount=3>$1</marquee>")
If InStr(Ubblists,",31,")>0 Or sType=1 Then s=Dv_UbbCode_iS1(s,"\[SHADOW=(.[^\[]*)\]","\[\/SHADOW\]","SHADOW","<div style=""width:$1px;filter:shadow(color=$2, strength=$3)"">$4</div>","=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)")
If InStr(Ubblists,",32,")>0 Or sType=1 Then s=Dv_UbbCode_iS1(s,"\[GLOW=(.[^\[]*)\]","\[\/GLOW\]","GLOW","<div style=""width:$1px;filter:glow(color=$2, strength=$3)"">$4</div>","=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)")
If InStr(Ubblists,",33,")>0 Or sType=1 Then s=Dv_UbbCode_S(s)
If InStr(Ubblists,",34,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[i\]","\[\/i\]","i","<i>$1</i>")
If InStr(Ubblists,",35,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[b\]","\[\/b\]","b","<b>$1</b>")
If InStr(Ubblists,",36,")>0 Or sType=1 Then s=Dv_UbbCode_S1(s,"\[u\]","\[\/u\]","u","<u>$1</u>")
If InStr(Lcase(s),"[username")>0 Then s= Dv_UbbCode_name(s)
'不开放HTML支持,不转换HREF
If Dvbbs.Board_Setting(5)="1" Then
'自动识别网址
If InStr(Ubblists,",18,")>0 Or InStr(Ubblists,",19,")>0 Or InStr(Ubblists,",20,")>0 Or InStr(Ubblists,",21,")>0 Or InStr(Ubblists,",22,")>0 Or sType=1 Then
re.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+([^<>""])+)"
s = re.Replace(s,"<a target=_blank href=$1>$1</a>")
re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+([^<>""])+)$([^\[]*)"
s = re.Replace(s,"<a target=_blank href=$1>$1</a>")
re.Pattern = "([^>=""])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+([^<>""])+)"
s = re.Replace(s,"$1<a target=_blank href=$2>$2</a>")
End If
'自动识别www等开头的网址
If InStr(Ubblists,",38,")>0 Or sType=1 Then
re.Pattern = "([\s])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -