jb51用的ubb转换[原创]_正则表达式

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=""../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| | ]*)?<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

时间: 2024-09-02 17:18:22

jb51用的ubb转换[原创]_正则表达式的相关文章

jb51用的ubb转换 原创

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转换UBB的程序_正则表达式

这个功能主要是让 UBB 转贴的时候方便点.  1.自动识别图片,超链接,字体颜色,和字体加粗,倾斜,下划线的HTML代码,并且转换为UBB代码.2.兼容 IE 和 Mozilla多种浏览器<html> <head> <title>Html转换程序</title> <SCRIPT language="JavaScript1.2"> function HtmlToUBB(str) { str = str.replace(/\r/

VBS中的正则表达式的用法大全[原创]_正则表达式

VBS正则表达式函数 主要用在asp中效果明显 1.表单验证功能 复制代码 代码如下: Function Validate(strng,patrn)   Dim regEx   Set regEx = New RegExp   regEx.Pattern = patrn   regEx.IgnoreCase = True   regEx.Global = True   Validate = regEx.test(strng)   Set regEx = Nothing  End Function

论坛UBB代码 推荐_正则表达式

复制代码 代码如下: <%dim param,smiles  'param是UBB标签完全可用的标记 param=full 则完全可用,否则不支持一些占位大的标签 smiles是禁止笑脸转换function UBBCode(content)dim n,i'on error resume nextset re=new regexpre.IgnoreCase=truere.global=true re.pattern="\[code\](\r\n)?([\s\S]+?)\[\/code\]&q

通过脚本清空标签p中的class名和style[原创]_正则表达式

复制代码 代码如下: <textarea name=jb51 cols=60 rows=6>   <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 0.05pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0; mso-char-indent-size: 10.5pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-

java 正则表达式基础,实例学习资料收集大全[原创]_正则表达式

对于JAVA的Pattern类 和 Matcher类可参考网址 http://www.ibm.com/developerworks/cn/java/l-regp/part2/ 正则表达式中的特殊字符:   \\ 反斜杠   \t 间隔 ('\u0009')   \n 换行 ('\u000A')   \r 回车 ('\u000D')   \d 数字等价于[0-9]   \D 非数字等价于[^0-9]   \s 空白符号 [\t\n\x0B\f\r]   \S 非空白符号 [^\t\n\x0B\f\

正则匹配后面非指定字符的正则[原创]_正则表达式

我想匹配后面只要不是x和.net的asp. 如:asp.net aspx asp aspyu  只需要匹配aspyu和asp这样的正则,我弄了老会,也没弄出来,大家帮忙啊 负向预查: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这是我在经典论坛问的一个问题,感谢Sheneyan(子虚乌有)版主

[a] 1 [/a]转换为网址的UBB的正则_正则表达式

上面这个东东如何才能变成下面那个? 复制代码 代码如下: [a] 1 [/a] 2 [a]3[/a] 4 [/a] 5  [/a] 6 [a] 7 [/a]  [a] 8 [/a]  <a f="1"> 1 <a f="2"> 2 <a f="3">3</a> 4 </a> 5  </a> 6 <a f="7"> 7 </a>  &

正则替换字符串功能[原创]_正则表达式

<a href="1.htm">251</a> 怎么用JS把251替换为 <span style='background-color: #99FF99'>251</span> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]