ubbcode.asp
復制代碼 代碼如下:
%
Function UBBCode(strContent)
If isEmpty(strContent) Or isNull(strContent) Then
Exit Function
Else
dim regex,strMatch
set regex=new RegExp
regex.IgnoreCase =True
regex.Global=True
regex.Pattern="\[html\]((\r\n)?([\s\S]+?))\[\/html\]"
Set strMatchs=regex.Execute(strContent)
For Each strMatch in strMatchs
'response.write strMatch.SubMatches(3)
Randomize
rndID="runcode"Int(100000 * Rnd)
strContent=Replace(strContent,strMatch.Value,"br/>font color=red>HTML代碼:/font>TEXTAREA style=""width:96%; height:300px;"" id="""rndID""" class=""htmlarea"">"UBBFilter(HTMLDecode(strMatch.SubMatches(2))) "/TEXTAREA>br/>INPUT onclick=""runEx('"rndID"')"" type=""button"" value=""運行此代碼""/> INPUT onclick=""doCopy("rndID")"" type=""button"" value=""復制此代碼""/> INPUT onclick=""doSave("rndID")"" type=""button"" value=""保存代碼""/>br/> [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]")
Next
Set strMatchs=nothing
'去空行
regex.pattern="\n[\s]*\r"
Set strMatchs=regex.Execute(strContent)
For Each strMatch in strMatchs
strContent=Replace(strContent,strMatch.Value,"")
Next
'代碼塊
regex.Pattern="\[code\]((\r\n)?([\s\S]+?))\[\/code\]"
Set strMatchs=regex.Execute(strContent)
For Each strMatch in strMatchs
Randomize
rndID="code"Int(100000 * Rnd)
strContent=Replace(strContent,strMatch.Value,"br/>div style=""float:left"">font color=green>CODE代碼:/font>/div>div style=""float:right;text-align:right;"">[a href=""javascript:void(null)"" onclick=""doCopy("rndID")"">復制此代碼/a>]/div>br/>div class=""codetextarea"" id="""rndID""">"strMatch.SubMatches(2)"/div>")
Next
Set strMatchs=nothing
'實現(xiàn)插入影音文件
regex.Pattern="\[(swf|wma|wmv|rm|ra|qt)(=\d*?|)(,\d*?|)\]([^>]*?)\[\/(swf|wma|wmv|rm|ra|qt)\]"
Set strMatchs=regex.Execute(strContent)
dim strType,strWidth,strHeight,strSRC,TitleText
For Each strMatch in strMatchs
RAndomize
strType=strMatch.SubMatches(0)
if strType="swf" then
TitleText="img src=""../images/flash.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>Flash動畫"
elseif strType="wma" then
TitleText="img src=""../images/music.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放音頻文件"
elseif strType="wmv" then
TitleText="img src=""../images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放視頻文件"
elseif strType="rm" then
TitleText="img src=""../images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real視頻流文件"
elseif strType="ra" then
TitleText="img src=""../images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real音頻流文件"
elseif strType="qt" then
TitleText="img src=""../images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放mov視頻文件"
end if
strWidth=strMatch.SubMatches(1)
strHeight=strMatch.SubMatches(2)
if (len(strWidth)=0) then
strWidth="400"
else
strWidth=right(strWidth,(len(strWidth)-1))
end if
if (len(strHeight)=0) then
strHeight="300"
else
strHeight=right(strHeight,(len(strHeight)-1))
end if
strSRC=strMatch.SubMatches(3)
rndID="temp"Int(100000 * Rnd)
strContent= Replace(strContent,strMatch.Value,"div class=""UBBPanel"">div class=""UBBTitle"">"TitleText"/div>div class=""UBBContent"">a id="""+rndID+"_href"" href=""javascript:MediaShow('"+strType+"','"+rndID+"','"+strSRC+"','"+strWidth+"','"+strHeight+"')"">img name="""+rndID+"_img"" src=""../images/mm_snd.gif"" style=""margin:0px 3px -2px 0px"" border=""0"" alt=""""/>span id="""+rndID+"_text"">在線播放/span>/a>div id="""+rndID+""">/div>/div>/div>")
Next
Set strMatchs=nothing
regex.Pattern="(\[mid\])(.[^\]]*)\[\/mid\]"
strContent= regex.Replace(strContent,"embed src=""$2"" height=""45"" width=""314"" autostart=""0"">/embed>")
regex.pattern="br>([\s|nbsp;| ]*)?br>"
strContent=regex.replace(strContent,"br>")
strContent=replace(strContent,"","")
strContent=replace(strContent,"'","'")
strContent=replace(strContent,"","") '因為以前上傳圖片
set regex=nothing
end if
UBBCode=strContent
end function
%>
基本上來自pjhome