?? char.inc
字號:
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
function doCode(fString, fOTag, fCTag, fROTag, fRCTag)
fOTagPos = Instr(1, fString, fOTag, 1)
fCTagPos = Instr(1, fString, fCTag, 1)
while (fCTagPos > 0 and fOTagPos > 0)
fString = replace(fString, fOTag, fROTag, 1, 1, 1)
fString = replace(fString, fCTag, fRCTag, 1, 1, 1)
fOTagPos = Instr(1, fString, fOTag, 1)
fCTagPos = Instr(1, fString, fCTag, 1)
wend
doCode = fString
end function
function HTMLEncode(fString)
fString = Replace(fString, "<br>", CHR(10))
fString = Replace(fString, "<", "<")
fString = Replace(fString, ">", ">")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "<P></P>"& CHR(13))
fString = Replace(fString, CHR(10), "<br>"& CHR(13))
fString = Replace(fString, CHR(32), " ")
HTMLEncode = fString
end function
function HTMLEncode2(fString)
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
fString = Replace(fString, CHR(32), " ")
HTMLEncode2 = fString
end function
function UBBCode(strContent)
on error resume next
strContent = HTMLEncode(strContent)
dim objRegExp
Set objRegExp=new RegExp
objRegExp.IgnoreCase =true
objRegExp.Global=True
' 在.后加[^\[] 即(.[^\[]*) 解決多個相同代碼只能替換一個的問題!
'EMAIL替換
objRegExp.Pattern="(\[EMAIL\])(.[^\[]*)(\[\/EMAIL\])"
strContent= objRegExp.Replace(strContent,"<A HREF=""mailto:$2"">$2</A>")
objRegExp.Pattern="(\[EMAIL=(.[^\[]*)\])(.[^\[]*)(\[\/EMAIL\])"
strContent= objRegExp.Replace(strContent,"<A HREF=""mailto:$2"" TARGET=_blank>$3</A>")
'em替換
objRegExp.Pattern="\[em(.[^\[]*)\]"
strContent=objRegExp.Replace(strContent,"<img src=images/emot/em$1.gif border=0>")
'URL替換
objRegExp.Pattern="(\[URL\])(.[^\[]*)(\[\/URL\])"
strContent= objRegExp.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$2</A>")
objRegExp.Pattern="(\[URL=(.[^\[]*)\])(.[^\[]*)(\[\/URL\])"
strContent= objRegExp.Replace(strContent,"<A HREF=""$2"" TARGET=_blank>$3</A>")
objRegExp.Pattern="(\[IMG\](.[^\[]*)\[\/IMG\])"
strContent=objRegExp.Replace(strContent,"<img src=""$2"" border=0 onload=""if(this.width>screen.width*0.65) {this.resized=true; this.width=screen.width*0.65; this.alt='點擊在新窗口瀏覽圖片';}"" onmouseover=""if(this.resized) this.style.cursor='hand';"" onclick=""if(this.resized) window.open(this.src);"">")
'strContent=objRegExp.Replace(strContent,"<img src=""$2"" border=0 onload=""if(this.width>screen.width*0.65) {this.resized=true; this.width=screen.width*0.65;}"">")
objRegExp.Pattern="(\[HTML\])(.[^\[]*)(\[\/HTML\])"
strContent=objRegExp.Replace(strContent,"<SPAN><p><IMG src=pic/code.gif align=absBottom>該篇文章附帶的 HTML 代碼片段如下:<BR><TEXTAREA style=""WIDTH: 94%; BACKGROUND-COLOR: #f7f7f7"" name=textfield rows=10>$2</TEXTAREA><BR><INPUT onclick=runEx() type=button value=運行此代碼 name=Button> [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]</SPAN><BR>")
objRegExp.Pattern="(\[color=(.[^\[]*)\])(.[^\[]*)(\[\/color\])"
strContent=objRegExp.Replace(strContent,"<font color=$2>$3</font>")
objRegExp.Pattern="(\[face=(.[^\[]*)\])(.[^\[]*)(\[\/face\])"
strContent=objRegExp.Replace(strContent,"<font face=$2>$3</font>")
objRegExp.Pattern="(\[align=(.[^\[]*)\])(.[^\[]*)(\[\/align\])"
strContent=objRegExp.Replace(strContent,"<div align=$2>$3</div>")
objRegExp.Pattern="(\[fly\])([^\[].*)(\[\/fly\])"
strContent=objRegExp.Replace(strContent,"<marquee width=90% behavior=alternate scrollamount=3>$2</marquee>")
objRegExp.Pattern="(\[move\])(.[^\[]*)(\[\/move\])"
strContent=objRegExp.Replace(strContent,"<MARQUEE scrollamount=3>$2</marquee>")
objRegExp.Pattern="(\[glow=(.[^\[]*),(.[^\[]*),(.[^\[]*)\])(.[^\[]*)(\[\/glow\])"
strContent=objRegExp.Replace(strContent,"<table width=$2 style=""filter:glow(color=$3, strength=$4)"">$5</table>")
objRegExp.Pattern="(\[SHADOW=(.[^\[]*),(.[^\[]*),(.[^\[]*)\])(.[^\[]*)(\[\/SHADOW\])"
strContent=objRegExp.Replace(strContent,"<table width=$2 style=""filter:shadow(color=$3, direction=$4)"">$5</table>")
objRegExp.Pattern="(\[i\])(.[^\[]*)(\[\/i\])"
strContent=objRegExp.Replace(strContent,"<i>$2</i>")
objRegExp.Pattern="(\[u\])(.[^\[]*)(\[\/u\])"
strContent=objRegExp.Replace(strContent,"<u>$2</u>")
objRegExp.Pattern="(\[b\])(.[^\[]*)(\[\/b\])"
strContent=objRegExp.Replace(strContent,"<b>$2</b>")
objRegExp.Pattern="(\[fly\])(.[^\[]*)(\[\/fly\])"
strContent=objRegExp.Replace(strContent,"<marquee>$2</marquee>")
objRegExp.Pattern="(\[size=1\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=1>$2</font>")
objRegExp.Pattern="(\[size=2\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=2>$2</font>")
objRegExp.Pattern="(\[size=3\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=3>$2</font>")
objRegExp.Pattern="(\[size=4\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=4>$2</font>")
objRegExp.Pattern="(\[size=5\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=5>$2</font>")
objRegExp.Pattern="(\[size=6\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=6>$2</font>")
objRegExp.Pattern="(\[size=7\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=7>$2</font>")
objRegExp.Pattern="(\[size=8\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=8>$2</font>")
objRegExp.Pattern="(\[size=9\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=9>$2</font>")
objRegExp.Pattern="(\[size=10\])(.[^\[]*)(\[\/size\])"
strContent=objRegExp.Replace(strContent,"<font size=10>$2</font>")
'多媒體替換
objRegExp.Pattern="(\[FLASH\])(.[^\[]*)(\[\/FLASH\])"
strContent= objRegExp.Replace(strContent,"<a href=""$2"" TARGET=_blank><IMG SRC=pic/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=""$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/x-shockwave-flash' width=500 height=400>$2</embed></OBJECT>")
objRegExp.Pattern="\[DIR=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/DIR]"
strContent=objRegExp.Replace(strContent,"<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>")
objRegExp.Pattern="\[QT=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/QT]"
strContent=objRegExp.Replace(strContent,"<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/>")
objRegExp.Pattern="\[MP=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/MP]"
strContent=objRegExp.Replace(strContent,"<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>")
objRegExp.Pattern="\[RM=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/RM]"
strContent=objRegExp.Replace(strContent,"<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>")
strContent = doCode(strContent, "[list]", "[/list]", "<ul>", "</ul>")
strContent = doCode(strContent, "[list=1]", "[/list]", "<ol type=1>", "</ol id=1>")
strContent = doCode(strContent, "[list=a]", "[/list]", "<ol type=a>", "</ol id=a>")
strContent = doCode(strContent, "[*]", "[/*]", "<li>", "</li>")
strContent = doCode(strContent, "[code]", "[/code]", "<pre id=code><font size=1 face=""Verdana, Arial"" id=code>", "</font id=code></pre id=code>")
'引用替換
objRegExp.Pattern="\[quote\](.*)\[\/quote\]"
strContent=objRegExp.Replace(strContent,"<br><table align=""center"" width=""80%"" border=""0"" align=""center"" cellpadding=""4"" cellspacing=""1"" bgcolor=""#000000""><tr><td bgcolor=""#E7EFE7""><b>引用:</b>$1</td></tr></table><br>")
'自動識別網址替換
objRegExp.Pattern = "^((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
strContent = objRegExp.Replace(strContent,"<a href=$1 target=_blank>$1</a>")
objRegExp.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)$"
strContent = objRegExp.Replace(strContent,"<a href=$1 target=_blank>$1</a>")
objRegExp.Pattern = "([^>=""])((http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9\./=\?%\-&_~`@[\]\':+!]+)"
strContent = objRegExp.Replace(strContent,"$1<a href=$2 target=_blank>$2</a>")
'自動識別www等開頭的網址
objRegExp.Pattern = "([^(http://|http:\\)])((www|cn)[.](\w)+[.]{1,}(net|com|cn|org|cc)(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)"
strContent = objRegExp.Replace(strContent,"<a target=_blank href=http://$2>$2</a>")
set objRegExp=Nothing
UBBCode=strContent
end function
</SCRIPT>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -