佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ubb代碼轉(zhuǎn)換為html

ubb代碼轉(zhuǎn)換為html

熱門標(biāo)簽:銀行業(yè)務(wù) 科大訊飛語音識別系統(tǒng) 服務(wù)器配置 電子圍欄 團(tuán)購網(wǎng)站 Linux服務(wù)器 Mysql連接數(shù)設(shè)置 阿里云

記得以前貼過一個(gè)ubb代碼轉(zhuǎn)換為html格式的代碼,前幾天讀ubb的源代碼。所以有了這個(gè)新的版本。注意,這個(gè)版本可能還不能正常使用,詳細(xì)見注。

這段代碼將用戶輸入的ubb代碼轉(zhuǎn)化為html格式,注意,需要Script Engine 5.0的支持(使
用了RegExp對象)

注:pattern中使用()將知道regexp記憶搜索到的值,$1是第一個(gè)(),其余類推。但$2的
語法并不被5.0版本的vbscript.dll所支持,我檢查了自己機(jī)器上的版本(安裝過ie 5.5),
發(fā)現(xiàn)vbscript.dll的版本為5.50.4629,最后修改日期為12月25日。該版本支持$1之類的語
法,這個(gè)簡單的改進(jìn)使regexp的功能逐漸與perl的正則表達(dá)式靠近

function UBBCode(strContent)

dim objRegExp
Set objRegExp=new RegExp
objRegExp.IgnoreCase =true
objRegExp.Global=True
'url
objRegExp.Pattern="(\[URL\])(http:\/\/\S+?)(\[\/URL\])"
strContent= objRegExp.Replace(strContent,"A HREF=""$2"" TARGET=_blank>$2/A>")
objRegExp.Pattern="(\[URL\])(\S+?)(\[\/URL\])"
strContent= objRegExp.Replace(strContent,"A HREF=""http://$2"" TARGET=_blank>$2/A>")

'email
objRegExp.Pattern="(\)(\S+\@\S+?)(\[\/EMAIL\])"
strContent= objRegExp.Replace(strContent,"A HREF=""mailto:$2"">$2/A>")

objRegExp.Pattern="(\[IMG\])(\S+?)(\[\/IMG\])"
strContent=objRegExp.Replace(strContent,"IMG SRC=""$2"">")

objRegExp.Pattern="(\[QUOTE\])(.+?)(\[\/QUOTE\])"
strContent=objRegExp.Replace(strContent,"BLOCKQUOTE>font size=1
face=""Verdana, Arial"">quote:/font>HR>$2HR>/BLOCKQUOTE>")

objRegExp.Pattern="(\[i\])(.+?)(\[\/i\])"
strContent=objRegExp.Replace(strContent,"i>$2/i>")

objRegExp.Pattern="(\[b\])(.+?)(\[\/b\])"
strContent=objRegExp.Replace(strContent,"b>$2/b>")
set objRegExp=Nothing
UBBCode=strContent

end function

原版的轉(zhuǎn)化程序,摘自freeware版本的ubb論壇,可到 http://www.ultimatebb.com/ 下載(Perl CGI方式)

sub UBBCode {

my $ThePost = shift;
$ThePost =~ s/(\[URL\])(http:\/\/\S+?)(\[\/URL\])/ A HREF="$2"
TARGET=_blank>$2\/A> /isg;

$ThePost =~ s/(\[URL\])(\S+?)(\[\/URL\])/ A HREF="http:\/\/$2"
TARGET=_blank>$2\/A> /isg;

$ThePost =~ s/(\)(\S+\@\S+?)(\[\/EMAIL\])/ A
HREF="mailto:$2">$2\/A> /isg;

if (($UBBImages eq "ON") ($OverrideImages ne "yes")) {
$ThePost =~ s/(\[IMG\])(\S+?)(\[\/IMG\])/ IMG SRC="$2"> /isg;
}

$ThePost =~ s/(\[QUOTE\])(.+?)(\[\/QUOTE\])/ BLOCKQUOTE>font size="1"
face="Verdana, Arial">quote:\/font>HR>$2HR>\/BLOCKQUOTE>/isg;

$ThePost =~ s/(\[i\])(.+?)(\[\/i\])/i>$2\/i>/isg;

$ThePost =~ s/(\[b\])(.+?)(\[\/b\])/b>$2\/b>/isg;

return ($ThePost);

}

學(xué)習(xí)Asp的同志,不要放棄對CGI的學(xué)習(xí),特別是一些老外的CGI程序,看后對我們的asp編程會(huì)有很大的啟發(fā)

標(biāo)簽:蚌埠 棗莊 廣元 大理 衢州 萍鄉(xiāng) 衡水 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ubb代碼轉(zhuǎn)換為html》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    和硕县| 延寿县| 油尖旺区| 福鼎市| 孝昌县| 怀宁县| 类乌齐县| 陆丰市| 兴安盟| 元阳县| 永丰县| 汉川市| 象州县| 景泰县| 铜陵市| 济阳县| 谢通门县| 大化| 大兴区| 镇江市| 林口县| 贵溪市| 新建县| 龙海市| 开鲁县| 镇江市| 富川| 丹巴县| 十堰市| 建阳市| 吴桥县| 庆云县| 车致| 遂溪县| 扬州市| 凤冈县| 武夷山市| 应城市| 湾仔区| 阿图什市| 伽师县|