网络编程 
首页 > 网络编程 > 浏览文章

jb51用的ubb转换 原创

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )
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
'实现插入影音文件
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="/UploadFiles/2021-04-02/">              elseif strType="wma" then
               TitleText="<img src="">              elseif strType="wmv" then
               TitleText="<img src="">              elseif strType="rm" then
               TitleText="<img src="">              elseif strType="ra" then
               TitleText="<img src="">              elseif strType="qt" then
               TitleText="<img src="">              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="/UploadFiles/2021-04-02/">        Next
        Set strMatchs=nothing
        regex.Pattern="(\[mid\])(.[^\]]*)\[\/mid\]"
        strContent= regex.Replace(strContent,"<embed src="/UploadFiles/2021-04-02/">regex.pattern="<br>([\s|&nbsp;| ]*)?<br>"
strContent=regex.replace(strContent,"<br>")
strContent=replace(strContent,"&amp;","&")
strContent=replace(strContent,"'","'")
strContent=replace(strContent,"","") '因为以前上传图片

set regex=nothing
end if
UBBCode=strContent
end function
%>

基本上来自pjhome
上一篇:密码强度检测函数(正则)
下一篇:PBlog2 公用JS代码