UBB 转换函数演示 (经典论坛)

地板小金

地板小金

2016-02-19 13:58

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。
UBB代码对于经常上论坛的朋友来说是最熟悉不过了。这里我不多说了,关于怎么实现UBB转换,不了解的朋友请看这里正则表达式在UBB论坛中的应用

经典论坛的UBB转换我觉得是处理的非常好的,研究了一下它的转换结果[因为没有源码:)],做了下面的演示。转换结果基本上觉得象了。

主要是针对[code]{html}这两个标签的处理,其他的UBB标签还是一般的处理方法。

下面是分别用javascript和vbscript实现的演示。自己做论坛的朋友,如果想实现类似经典论坛的运行代码框可以看看这种转换。

欢迎大家输入尽量多格式的UBB进行测试,多多指出错误。
javascirpt:

代码如下:

style
.CodeSamp {
PADDING-RIGHT: 0.5em; MARGIN-TOP: 1em; PADDING-LEFT: 0.5em; FONT-SIZE: 8p; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 0.5em; MARGIN-LEFT: 0pt; PADDING-TOP: 0.5em; FONT-FAMILY: "Courier New"; BACKGROUND-COLOR: #eeeeee;width: 480px;overflow:hidden;border: 1px solid #888888;
}
textarea {
border-width: 1; border-color: #000000;font-size: 12px;FONT-FAMILY: "Tahoma", "MS Shell Dlg";
}
/style

TEXTAREA name=phx cols=65 rows=12
[i][b][color=blue]blue[/color][/b][/i]

{html}[color=red]te
st[/color]{/html}

{html}[code]te
st[/code]{/html}

[code]{html}te
st{/html}[/code]/textarea
brbutton onclick=show.innerHTML=UBBCode(phx.value,"html")转换/buttonbr
div id=show style="border:1 solid skyblue;width=500;font-size: 12px;FONT-FAMILY:
'Tahoma', 'MS Shell Dlg';
"/div


script
strIcons = "1" //允许笑脸转换
strSmile="1" //同上
ImgName="em"
picurl="pic/"

function UBBCode(content,html){
st=new Date().getTime()
content=content.replace(/[(/)?phx_code]/ig,"{$1phx_code}");
content=content.replace(/[(/)?phx_html]/ig,"{$1phx_html}");
content="[phx_code]"+content+"[/phx_code]";
content=content.replace(/([code]([sS]+?)[/code])/ig,"[/phx_code]$1[phx_code]");
content=content.replace(/[phx_code]([sS]*?)[/phx_code]/ig,function($1,$2){if(html=="html"){return(HTMLCode($2));}else{return(trans($2));}});
content=content.replace(/[code](rn)?([sS]+?)[/code]/ig,function($1,$2,$3){return("PRE class=CodeSamp"+DvbbsHtmlAn($3)+"/PRE")});
content=content.replace(/{(/)?phx_code}/ig,"[$1phx_code]");
content=content.replace(/{(/)?phx_html}/ig,"[$1phx_html]");
alert('共耗时 '+eval(new Date().getTime()-st)+' ms');
return(content);
}

function HTMLCode(content){
content="[phx_html]"+content+"[/phx_html]";
content=content.replace(/([html]([sS]+?)[/html])/ig,"[/phx_html]$1[phx_html]");
content=content.replace(/[phx_html]([sS]*?)[/phx_html]/ig,function($1,$2){return(trans($2))});
content=content.replace(/[html]([sS]+?)[/html]/ig,function($1,$2){return("spanTEXTAREA cols=95 rows=12"+hencode($2)+"/TEXTAREAbrINPUT onclick=runCode() type=button value=运行代码[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]/span")});
return(content);
}

function hencode(fString){ //简单模拟server.htmlencode ASP中不用这个
fString = fString.replace(/&/ig,"&")
fString = fString.replace(//ig,"") //
fString = fString.replace(//ig,"") //
return fString;
}

function DvbbsHtmlAn(fString){

if(fString=="")return("");

fString=hencode(fString)

fString = fString.replace(/t/ig," ") //Tab
fString = fString.replace(/"/ig,""")//"
fString = fString.replace(/'/ig,"'")//'
fString = fString.replace(/r/ig,"") //回车是一个13+10
fString = fString.replace(/nn/ig,"P")//
fString = fString.replace(/n/ig,"BR")//换行
fString = fString.replace(/x20/ig," ") //空格


return(fString);
}

function trans(strContent){
var re;
strContent=DvbbsHtmlAn(strContent);

re=/[IMG](.+?)[/IMG]/ig;
strContent=strContent.replace(re,"a href=$1 target=_blankIMG SRC=$1 border=0 alt=按此在新窗口浏览图片 onload="javascript:if(this.widthscreen.width-333)this.width=screen.width-333" galleryImg=no/a");
re=/[DIR=*([0-9]*),*([0-9]*)](.*?)[/DIR]/ig
strContent=strContent.replace(re,"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=$2param name=src value=$3embed src=$3 pluginspage=http://www.macromedia.com/shockwave/download/ width=$1 height=$2/embed/object")
re=/[QT=*([0-9]*),*([0-9]*)](.*?)[/QT]/ig
strContent=strContent.replace(re,"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/")
re=/[MP=*([0-9]*),*([0-9]*)](.*?)[/MP]/ig
strContent=strContent.replace(re,"object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 param name=ShowStatusBar value=-1param name=Filename value=$3embed 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")
re=/[RM=*([0-9]*),*([0-9]*)](.*?)[/RM]/ig
strContent=strContent.replace(re,"OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2PARAM NAME=SRC VALUE=$3PARAM NAME=CONSOLE VALUE=Clip1PARAM NAME=CONTROLS VALUE=imagewindowPARAM NAME=AUTOSTART VALUE=true/OBJECTbrOBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1PARAM NAME=SRC VALUE=$3PARAM NAME=AUTOSTART VALUE=-1PARAM NAME=CONTROLS VALUE=controlpanelPARAM NAME=CONSOLE VALUE=Clip1/OBJECT")


re=/([FLASH])(.*?)([/FLASH])/ig
strContent= strContent.replace(re,"OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=500 height=400PARAM NAME=movie VALUE=$2PARAM NAME=quality VALUE=highembed src=$2 quality=high pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=500 height=400$2/embed/OBJECT")
re=/([FLASH=*([0-9]*),*([0-9]*)])(.*?)([/FLASH])/ig
strContent= strContent.replace(re,"a href=$4 TARGET=_blankIMG SRC=pic/swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! [全屏欣赏]/abrbrOBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=$2 height=$3PARAM NAME=movie VALUE=$4PARAM NAME=quality VALUE=highparam name=menu value=falseembed src=$4 quality=high menu=false pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=$2 height=$3$4/embed/OBJECT")

re=/([UPLOAD=gif])(.*?)([/UPLOAD])/ig
strContent= strContent.replace(re,"brIMG SRC="+picurl+"gif.gif border=0此主题相关图片如下:brA HREF=$2 TARGET=_blankIMG SRC=$2 border=0 alt=按此在新窗口浏览图片 onload="javascript:if(this.widthscreen.width-333)this.width=screen.width-333"/A")
re=/([UPLOAD=jpg])(.*?)([/UPLOAD])/ig
strContent= strContent.replace(re,"brIMG SRC="+picurl+"jpg.gif border=0此主题相关图片如下:brA HREF=$2 TARGET=_blankIMG SRC=$2 border=0 alt=按此在新窗口浏览图片 onload="javascript:if(this.widthscreen.width-333)this.width=screen.width-333"/A")
re=/([UPLOAD=bmp])(.*?)([/UPLOAD])/ig
strContent= strContent.replace(re,"brIMG SRC="+picurl+"bmp.gif border=0此主题相关图片如下:brA HREF=$2 TARGET=_blankIMG SRC=$2 border=0 alt=按此在新窗口浏览图片 onload="javascript:if(this.widthscreen.width-333)this.width=screen.width-333"/A")

re=/([UPLOAD=(.[^[]*)])(.*?)([/UPLOAD])/ig
strContent= strContent.replace(re,"brIMG SRC="+picurl+"$2.gif border=0 a href=$3点击浏览该文件/a")

re=/([URL])(.*?)([/URL])/ig
strContent= strContent.replace(re,"A HREF=$2 TARGET=_blank$2/A")
re=/([URL=(.[^[]*)])(.*?)([/URL])/ig
strContent= strContent.replace(re,"A HREF=$2 TARGET=_blank$3/A")

re=/([EMAIL])(.*?)([/EMAIL])/ig
strContent= strContent.replace(re,"img align=absmiddle src=pic/email1.gifA HREF="mailto:$2"$2/A")
re=/([EMAIL=(.[^[]*)])(.*?)([/EMAIL])/ig
strContent= strContent.replace(re,"img align=absmiddle src=pic/email1.gifA HREF="mailto:$2" TARGET=_blank$3/A")

re =/^(http://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/(http://[A-Za-z0-9./=?%-&_~`@':+!]+)$/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/[^=""](http://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/^(ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/(ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)$/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/[^=""](ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/^(rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/(rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)$/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/[^=""](rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/^(mms://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/(mms://[A-Za-z0-9./=?%-&_~`@':+!]+)$/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re =/[^=""](mms://[A-Za-z0-9./=?%-&_~`@':+!]+)/ig
strContent = strContent.replace(re,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")

if(strIcons == "1"){ //笑脸转换
re=/([em(.*?)])/ig
strContent=strContent.replace(re,"img src="+picurl+ImgName+"$2.gif border=0 align=middle")
}

if(strSmile == "1"){ //笑脸转换
re=/([s(d{1,2})])/ig
strContent=strContent.replace(re,"img src=smile/face$2.gif border=0 align=middle")
}

re=/([color=(.[^[]*)])(.*?)([/color])/ig
strContent=strContent.replace(re,"font color=$2$3/font")
re=/([face=(.[^[]*)])(.*?)([/face])/ig
strContent=strContent.replace(re,"font face=$2$3/font")
re=/([align=(.[^[]*)])(.*?)([/align])/ig
strContent=strContent.replace(re,"div align=$2$3/div")
//循环转换quote
re=/([QUOTE])(.*?)([/QUOTE])/ig
while(strContent.indexOf("[quote]")0 && strContent.indexOf("[/quote] ")0){
strContent=strContent.replace(re,"blockquote引用:hrspan$2/spanhr/blockquote")
}
re=/([fly])(.*?)([/fly])/ig
strContent=strContent.replace(re,"marquee width=90% behavior=alternate scrollamount=3$2/marquee")
re=/([move])(.*?)([/move])/ig
strContent=strContent.replace(re,"MARQUEE scrollamount=3$2/marquee")
re=/[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.*?)[/GLOW]/ig
strContent=strContent.replace(re,"table width=$1 style="filter:glow(color=$2, strength=$3)"$4/table")
re=/[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.*?)[/SHADOW]/ig
strContent=strContent.replace(re,"table width=$1 style="filter:shadow(color=$2, strength=$3)"$4/table")

re=/([i])(.*?)([/i])/ig
strContent=strContent.replace(re,"i$2/i")
re=/([u])(.*?)([/u])/ig
strContent=strContent.replace(re,"u$2/u")
re=/([b])(.*?)([/b])/ig
strContent=strContent.replace(re,"b$2/b")

re=/([size=1])(.*?)([/size])/ig
strContent=strContent.replace(re,"font size=1$2/font")
re=/([size=2])(.*?)([/size])/ig
strContent=strContent.replace(re,"font size=2$2/font")
re=/([size=3])(.*?)([/size])/ig
strContent=strContent.replace(re,"font size=5$2/font")
re=/([size=4])(.*?)([/size])/ig
strContent=strContent.replace(re,"font size=6$2/font")

re=/[size=([+|-]?[0-7])](.*?)([/size])/ig
strContent=strContent.replace(re,"font size=$1$2/font")

re=/([list])(.+?)([/list])/ig;
strContent=strContent.replace(re,"UL TYPE=SQUARE$2/UL");
re=/([list=)(A|1)(])(.+?)([/list])/ig;
strContent=strContent.replace(re,"OL TYPE=$2$4/OL");
re=/([*])/ig;
strContent=strContent.replace(re,"LI");

re=/([center])(.*?)([/center])/ig
strContent=strContent.replace(re,"center$2/center")

re=/([table=(#*[a-z0-9]*),(#*[a-z0-9]*),(#*[a-z0-9]*)])(.*?)([/table])/ig
strContent=strContent.replace(re,"table border=0 cellpadding=5 cellspacing=1 bgcolor=$2trtd bgcolor=$3font color=$4$5/font/td/tr/table")

return(strContent);
}
/script



vbscript:

代码如下:


style
.CodeSamp {
PADDING-RIGHT: 0.5em; MARGIN-TOP: 1em; PADDING-LEFT: 0.5em; FONT-SIZE: 8p; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 0.5em; MARGIN-LEFT: 0pt; PADDING-TOP: 0.5em; FONT-FAMILY: "Courier New"; BACKGROUND-COLOR: #eeeeee;width: 480px;overflow:hidden;border: 1px solid #888888;
}
textarea {
border-width: 1; border-color: #000000;font-size: 12px;FONT-FAMILY: "Tahoma", "MS Shell Dlg";
}
/style

TEXTAREA name=phx cols=65 rows=12
[i][b][color=blue]blue[/color][/b][/i]

{html}[color=red]te
st[/color]{/html}

{html}[code]te
st[/code]{/html}

[code]{html}te
st{/html}[/code]/textarea
brbutton onclick=show.innerHTML=UBBCode(phx.value)转换/buttonbr
div id=show style="border:1 solid skyblue;width=500;font-size: 12px;FONT-FAMILY:
'Tahoma', 'MS Shell Dlg';
"/div


script language=vbs
strIcons = "1" '允许笑脸转换
strSmile="1" '同上
ImgName="em"
picurl="pic/"

function UBBCode(content)
'on error resume next
st=timer
set re=new regexp
re.global=true

re.pattern="[code](rn)?([sS]+?)[/code]"
Set Matches = re.Execute(content) ' Execute search.
dim code()
n=0
if re.test(content) then codeb=true
if codeb then
For Each Match in Matches ' Iterate Matches collection.
redim Preserve code(n)
code(n) =Match.Value
n=n+1
Next
for i=0 to ubound(code)
if code(i)="" then exit for
content=replace(content,code(i),"{code"&i&"}")
next
end if


re.pattern="[html](rn)?([sS]+?)[/html]"
Set Matches = re.Execute(content) ' Execute search.
dim html()
n=0
if re.test(content) then htmlb=true
if htmlb then
For Each Match in Matches ' Iterate Matches collection.
redim Preserve html(n)
html(n) =Match.Value
n=n+1
Next
for i=0 to ubound(html)
if html(i)="" then exit for
content=replace(content,html(i),"{html"&i&"}")
next
end if

content=gmt(content)'ubb


if codeb then
for i=0 to ubound(code)
if code(i)="" then exit for
tcode=hencode(code(i))
content=replace(content,"{code"&i&"}",tcode)
next
end if
'-----
re.pattern="[html](rn)?([sS]+?)[/html]"
Set Matches = re.Execute(content) ' Execute search.
dim html2()
n=0
if re.test(content) then html2b=true
if html2b then
For Each Match in Matches ' Iterate Matches collection.
redim Preserve html2(n)
html2(n) =Match.Value
n=n+1
Next
for i=0 to ubound(html2)
if html2(i)="" then exit for
content=replace(content,html2(i),"{html2"&i&"}")
next
end if


if htmlb then
for i=0 to ubound(html)
if html(i)="" then exit for
thtml=hencode(html(i))
content=replace(content,"{html"&i&"}",thtml)
next
end if

re.Pattern="([code])(rn)?([sS]+?)([/code])"
content=re.Replace(content,"PRE class=CodeSamp$3/PRE")

re.Pattern="([html])(rn)?([sS]+?)([/html])"
content=re.Replace(content,"spanTEXTAREA cols=95 rows=12$3/TEXTAREAbrINPUT onclick=runCode() type=button value=运行代码[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]/span")

if html2b then
for i=0 to ubound(html2)
if html2(i)="" then exit for
thtml2=html2(i)
content=replace(content,"{html2"&i&"}",thtml2)
next
end if

UBBCode=content
msgbox "转换共耗时 "&formatnumber((timer-st)*1000,2)&" ms"
end function

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

function hencode(fString) '简单模拟server.htmlencode ASP中不用这个
fString = replace(fString,"&","&")
fString = replace(fString,"","")
fString = replace(fString,"","")
hencode=fString
end function

function DvbbsHtmlAn(fString)

if not isnull(fString) then

fString=hencode(fString)
fString = Replace(fString, CHR(9), " ") 'Tab
fString = Replace(fString, CHR(34), """) '"
fString = Replace(fString, CHR(39), "'") ''
fString = Replace(fString, CHR(13), "")'回车是一个13+10
fString = Replace(fString, CHR(10) & CHR(10), "P")' '
fString = Replace(fString, CHR(10), "BR")
fString = Replace(fString, CHR(32), " ") ' 空格

DvbbsHtmlAn = fString
end if
end function

function gmt(strContent)

strContent=DvbbsHtmlAn(strContent)

dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True

re.Pattern="([IMG])(.*?)([/IMG])"
strContent=re.Replace(strContent,"a href=$2 target=_blankIMG SRC=""$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.widthscreen.width-333)this.width=screen.width-333"" galleryImg=no/a")

if Not UserSign or (UserSign and UserImgCode=1) then
re.Pattern="[DIR=*([0-9]*),*([0-9]*)](.*?)[/DIR]"
strContent=re.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=$2param name=src value=$3embed src=$3 pluginspage=http://www.macromedia.com/shockwave/download/ width=$1 height=$2/embed/object")
re.Pattern="[QT=*([0-9]*),*([0-9]*)](.*?)[/QT]"
strContent=re.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/")
re.Pattern="[MP=*([0-9]*),*([0-9]*)](.*?)[/MP]"
strContent=re.Replace(strContent,"object align=middle classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 class=OBJECT id=MediaPlayer width=$1 height=$2 param name=ShowStatusBar value=-1param name=Filename value=$3embed 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")
re.Pattern="[RM=*([0-9]*),*([0-9]*)](.*?)[/RM]"
strContent=re.Replace(strContent,"OBJECT classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA class=OBJECT id=RAOCX width=$1 height=$2PARAM NAME=SRC VALUE=$3PARAM NAME=CONSOLE VALUE=Clip1PARAM NAME=CONTROLS VALUE=imagewindowPARAM NAME=AUTOSTART VALUE=true/OBJECTbrOBJECT classid=CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA height=32 id=video2 width=$1PARAM NAME=SRC VALUE=$3PARAM NAME=AUTOSTART VALUE=-1PARAM NAME=CONTROLS VALUE=controlpanelPARAM NAME=CONSOLE VALUE=Clip1/OBJECT")
end if

re.Pattern="([FLASH])(.*?)([/FLASH])"
strContent= re.Replace(strContent,"OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=500 height=400PARAM NAME=movie VALUE=""$2""PARAM NAME=quality VALUE=highembed src=""$2"" quality=high pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=500 height=400$2/embed/OBJECT")
re.Pattern="([FLASH=*([0-9]*),*([0-9]*)])(.*?)([/FLASH])"
strContent= re.Replace(strContent,"a href=""$4"" TARGET=_blankIMG SRC=pic/swf.gif border=0 alt=点击开新窗口欣赏该FLASH动画! [全屏欣赏]/abrbrOBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 width=$2 height=$3PARAM NAME=movie VALUE=""$4""PARAM NAME=quality VALUE=highparam name=menu value=falseembed src=""$4"" quality=high menu=false pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=$2 height=$3$4/embed/OBJECT")

re.Pattern="([UPLOAD=gif])(.*?)([/UPLOAD])"
strContent= re.Replace(strContent,"brIMG SRC="""&picurl&"gif.gif"" border=0此主题相关图片如下:brA HREF=""$2"" TARGET=_blankIMG SRC=""$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.widthscreen.width-333)this.width=screen.width-333""/A")
re.Pattern="([UPLOAD=jpg])(.*?)([/UPLOAD])"
strContent= re.Replace(strContent,"brIMG SRC="""&picurl&"jpg.gif"" border=0此主题相关图片如下:brA HREF=""$2"" TARGET=_blankIMG SRC=""$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.widthscreen.width-333)this.width=screen.width-333""/A")
re.Pattern="([UPLOAD=bmp])(.*?)([/UPLOAD])"
strContent= re.Replace(strContent,"brIMG SRC="""&picurl&"bmp.gif"" border=0此主题相关图片如下:brA HREF=""$2"" TARGET=_blankIMG SRC=""$2"" border=0 alt=按此在新窗口浏览图片 onload=""javascript:if(this.widthscreen.width-333)this.width=screen.width-333""/A")

re.Pattern="([UPLOAD=(.[^[]*)])(.*?)([/UPLOAD])"
strContent= re.Replace(strContent,"brIMG SRC="""&picurl&"$2.gif"" border=0 a href=""$3""点击浏览该文件/a")

re.Pattern="([URL])(.*?)([/URL])"
strContent= re.Replace(strContent,"A HREF=""$2"" TARGET=_blank$2/A")
re.Pattern="([URL=(.[^[]*)])(.*?)([/URL])"
strContent= re.Replace(strContent,"A HREF=""$2"" TARGET=_blank$3/A")

re.Pattern="([EMAIL])(.*?)([/EMAIL])"
strContent= re.Replace(strContent,"img align=absmiddle src=pic/email1.gifA HREF=""mailto:$2""$2/A")
re.Pattern="([EMAIL=(.[^[]*)])(.*?)([/EMAIL])"
strContent= re.Replace(strContent,"img align=absmiddle src=pic/email1.gifA HREF=""mailto:$2"" TARGET=_blank$3/A")

re.Pattern = "^(http://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "(http://[A-Za-z0-9./=?%-&_~`@':+!]+)$"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "(BR|P)(http://[A-Za-z0-9./=?%-&_~`@':+!]+)(BR|P)"
strContent = re.Replace(strContent,"$1img align=absmiddle src=pic/url.gifa target=_blank href=$2$2/a$3")
re.Pattern = "^(ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "(ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)$"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "[^=""](ftp://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "^(rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "(rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)$"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "[^=""](rtsp://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "^(mms://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "(mms://[A-Za-z0-9./=?%-&_~`@':+!]+)$"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")
re.Pattern = "[^=""](mms://[A-Za-z0-9./=?%-&_~`@':+!]+)"
strContent = re.Replace(strContent,"img align=absmiddle src=pic/url.gifa target=_blank href=$1$1/a")

if strIcons = "1" then '笑脸转换
re.Pattern="(["&ImgName&"(.*?)])"
strContent=re.Replace(strContent,"img src="&picurl&ImgName&"$2.gif border=0 align=middle")
end if

if strSmile = "1" then '笑脸转换
re.Pattern="([s(d{1,2})])"
strContent=re.Replace(strContent,"img src=smile/face$2.gif border=0 align=middle")
end if


re.Pattern="([color=(.[^[]*)])(.*?)([/color])"
strContent=re.Replace(strContent,"font color=$2 style=""font-size:"&FontSize&"pt;line-height:"&FontHeight&"pt""$3/font")
re.Pattern="([face=(.[^[]*)])(.*?)([/face])"
strContent=re.Replace(strContent,"font face=$2 style=""font-size:"&FontSize&"pt;line-height:"&FontHeight&"pt""$3/font")
re.Pattern="([align=(.[^[]*)])(.*?)([/align])"
strContent=re.Replace(strContent,"div align=$2$3/div")
'循环转换quote
re.Pattern="([QUOTE])(.*?)([/QUOTE])"
while (instr(strContent,"[quote]")0 and instr(strContent,"[/quote]")0)
strContent=re.Replace(strContent,"blockquote引用:hrspan$2/spanhr/blockquote")
wend
re.Pattern="([fly])(.*?)([/fly])"
strContent=re.Replace(strContent,"marquee width=90% behavior=alternate scrollamount=3$2/marquee")
re.Pattern="([move])(.*?)([/move])"
strContent=re.Replace(strContent,"MARQUEE scrollamount=3$2/marquee")
re.Pattern="[GLOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.*?)[/GLOW]"
strContent=re.Replace(strContent,"table width=$1 style=""filter:glow(color=$2, strength=$3)""$4/table")
re.Pattern="[SHADOW=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)](.*?)[/SHADOW]"
strContent=re.Replace(strContent,"table width=$1 style=""filter:shadow(color=$2, strength=$3)""$4/table")

re.Pattern="([i])(.*?)([/i])"
strContent=re.Replace(strContent,"i$2/i")
re.Pattern="([u])(.*?)([/u])"
strContent=re.Replace(strContent,"u$2/u")
re.Pattern="([b])(.*?)([/b])"
strContent=re.Replace(strContent,"b$2/b")

re.Pattern="([size=1])(.*?)([/size])"
strContent=re.Replace(strContent,"font size=1 style=""line-height:"&FontHeight&"pt""$2/font")
re.Pattern="([size=2])(.*?)([/size])"
strContent=re.Replace(strContent,"font size=2 style=""line-height:"&FontHeight&"pt""$2/font")
re.Pattern="([size=3])(.*?)([/size])"
strContent=re.Replace(strContent,"font size=5 style=""line-height:"&FontHeight&"pt""$2/font")
re.Pattern="([size=4])(.*?)([/size])"
strContent=re.Replace(strContent,"font size=6 style=""line-height:"&FontHeight&"pt""$2/font")

re.Pattern="[size=([+|-]?[0-7])](.*?)([/size])"
strContent=re.Replace(strContent,"font size=$1 style=""line-height:"&FontHeight&"pt""$2/font")

re.Pattern="([center])(.*?)([/center])"
strContent=re.Replace(strContent,"center$2/center")

re.Pattern="([table=(#*[a-z0-9]*),(#*[a-z0-9]*),(#*[a-z0-9]*)])(.*?)([/table])"
strContent=re.Replace(strContent,"table border=0 cellpadding=5 cellspacing=1 bgcolor=$2trtd bgcolor=$3font color=$4$5/font/td/tr/table")

'{HTML} start
're.Pattern="([html])(.*?)([/html])"
'strContent=re.Replace(strContent,"spanTEXTAREA cols=95 rows=12$2/TEXTAREAbrINPUT onclick=runCode() type=button value=运行代码[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]/span")

'{/HTML}end


set re=Nothing
gmt=strContent
end function

/script

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)


展开更多 50%)
分享

猜你喜欢

UBB 转换函数演示 (经典论坛)

Web开发
UBB 转换函数演示 (经典论坛)

UBB 转换函数演示

电脑网络
UBB 转换函数演示

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

论坛UBB代码 推荐

Web开发
论坛UBB代码 推荐

Html转换UBB程序

Web开发
Html转换UBB程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

UBB代码在论坛中的应用

Web开发
UBB代码在论坛中的应用

ubb代码转换为html

Web开发
ubb代码转换为html

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

过滤所有HTML代码和CSS,JS

过滤所有HTML代码和CSS,JS

如何调用ActiveX网页中的JavaScript函数

如何调用ActiveX网页中的JavaScript函数
下拉加载更多内容 ↓