ubb標(biāo)簽轉(zhuǎn)html(dz論壇也支持)

在開(kāi)發(fā)過(guò)程中清酥,有很多論壇把數(shù)據(jù)格式轉(zhuǎn)成了ubb格式

[img]圖片地址[/img]等等~~

在網(wǎng)上找到了一個(gè)例子

    <script>
       //str代表字符串   html轉(zhuǎn)ubb    pattern(字符串)即可
        function pattern(str){
            //str = str.replace(/(\r\n|\n|\r)/ig, '');
            str = str.replace(/<br[^>]*>/ig,'\n');
            str = str.replace(/<p[^>\/]*\/>/ig,'\n');
            //str = str.replace(/\[code\](.+?)\[\/code\]/ig, function($1, $2) {return phpcode($2);});   
            str = str.replace(/\son[\w]{3,16}\s?=\s*([\'\"]).+?\1/ig,'');

            str = str.replace(/<hr[^>]*>/ig,'[hr]');
            str = str.replace(/<(sub|sup|u|strike|b|i|pre)>/ig,'[$1]');
            str = str.replace(/<\/(sub|sup|u|strike|b|i|pre)>/ig,'[/$1]');
            str = str.replace(/<(\/)?strong>/ig,'[$1b]');
            str = str.replace(/<(\/)?em>/ig,'[$1i]');
            str = str.replace(/<(\/)?blockquote([^>]*)>/ig,'[$1blockquote]');

            str = str.replace(/<img[^>]*smile=\"(\d+)\"[^>]*>/ig,'[s:$1]');
            str = str.replace(/<img[^>]*src=[\'\"\s]*([^\s\'\"]+)[^>]*>/ig,'[img]'+'$1'+'[/img]');
            str = str.replace(/<a[^>]*href=[\'\"\s]*([^\s\'\"]*)[^>]*>(.+?)<\/a>/ig,'[url=$1]'+'$2'+'[/url]');
            //str = str.replace(/<h([1-6]+)([^>]*)>(.*?)<\/h\1>/ig,function($1,$2,$3,$4){return h($3,$4,$2);});

            str = str.replace(/<[^>]*?>/ig, '');
            str = str.replace(/&amp;/ig, '&');
            str = str.replace(/&lt;/ig, '<');
            str = str.replace(/&gt;/ig, '>');

            return str;
        }
         //str代表字符串   ubb轉(zhuǎn)html    up(字符串)即可
        function up(str){

            str = str.replace(/</ig,'&lt;');
            str = str.replace(/>/ig,'&gt;');
            str = str.replace(/\n/ig,'<br />');
            str = str.replace(/\[code\](.+?)\[\/code\]/ig, function($1, $2) {return phpcode($2);});

            str = str.replace(/\[hr\]/ig,'<hr />');
            str = str.replace(/\[\/(size|color|font|backcolor)\]/ig,'</font>');
            str = str.replace(/\[(sub|sup|u|i|strike|b|blockquote|li)\]/ig,'<$1>');
            str = str.replace(/\[\/(sub|sup|u|i|strike|b|blockquote|li)\]/ig,'</$1>');
            str = str.replace(/\[\/align\]/ig,'</p>');
            str = str.replace(/\[(\/)?h([1-6])\]/ig,'<$1h$2>');

            str = str.replace(/\[align=(left|center|right|justify)\]/ig,'<p align="$1">');
            str = str.replace(/\[size=(\d+?)\]/ig,'<font size="$1">');
            str = str.replace(/\[color=([^\[\<]+?)\]/ig, '<font color="$1">');
            str = str.replace(/\[backcolor=([^\[\<]+?)\]/ig, '<font style="background-color:$1">');
            str = str.replace(/\[font=([^\[\<]+?)\]/ig, '<font face="$1">');
            str = str.replace(/\[list=(a|A|1)\](.+?)\[\/list\]/ig,'<ol type="$1">$2</ol>');
            str = str.replace(/\[(\/)?list\]/ig,'<$1ul>');

            str = str.replace(/\[s:(\d+)\]/ig,function($1,$2){ return smilepath($2);});
            str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig,'<img src="$1" border="0" />');
            str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$2'+'</a>');
            str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$1'+'</a>');
            return str;
        }

        
    </script>

上面的up方法已經(jīng)兼容很大一部分了但是有個(gè)別的論壇可能繁瑣點(diǎn),我做出了點(diǎn)修改和添加。
注:因?yàn)檫m配原因str = str.replace(/[size=(\d+?)]/ig,'<font size="$1">'); 我把 “ $1”改成了2.具體根據(jù)自己的需求改動(dòng)

  //str代表字符串   ubb轉(zhuǎn)html    up(字符串)即可
  function up(str){

    str = str.replace(/</ig,'&lt;');
    str = str.replace(/>/ig,'&gt;');
    str = str.replace(/\n/ig,'<br />');
    str = str.replace(/\[code\](.+?)\[\/code\]/ig, function($1, $2) {return phpcode($2);});

    str = str.replace(/\[hr\]/ig,'<hr />');
    str = str.replace(/\[\/(size|color|font|backcolor)\]/ig,'</font>');
    str = str.replace(/\[(sub|sup|u|i|strike|b|blockquote|li)\]/ig,'<$1>');
    str = str.replace(/\[\/(sub|sup|u|i|strike|b|blockquote|li)\]/ig,'</$1>');
    str = str.replace(/\[\/align\]/ig,'</p>');
    str = str.replace(/\[(\/)?h([1-6])\]/ig,'<$1h$2>');

    str = str.replace(/\[align=(left|center|right|justify)\]/ig,'<p align="$1">');
    str = str.replace(/\[size=(\d+?)\]/ig,'<font size="2">');
    str = str.replace(/\[size=(\d+?.\d+?)pt\]/ig,'<font size="2">');
    str = str.replace(/\[size=(\d+?)pt\]/ig,'<font size="2">');
    str = str.replace(/\[size=(\d+?)px\]/ig,'<font size="2">');
    str = str.replace(/\[p=(\d+?), null, center\]/ig,'<font size="1" style="text-align:center;">');
    str = str.replace(/\[i=s\]/ig,'');
    str = str.replace(/\[color=([^\[\<]+?)\]/ig, '<font style="color:$1">');
    str = str.replace(/\[backcolor=([^\[\<]+?)\]/ig, '<font style="background-color:$1">');
    str = str.replace(/\[font=([^\[\<]+?)\]/ig, '<font face="$1">');
    str = str.replace(/\[list=(a|A|1)\](.+?)\[\/list\]/ig,'<ol type="$1">$2</ol>');
    str = str.replace(/\[(\/)?list\]/ig,'<$1ul>');
    str = str.replace('&lt;','<').replace('&gt;','>');

    str = str.replace(/\[s:(\d+)\]/ig,function($1,$2){ return smilepath($2);});
    str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig,'<img src="$1" border="0" />');
    str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$2'+'</a>');
    str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$1'+'</a>');
    return str;
}

前端小白姐叁,有意見(jiàn)請(qǐng)@我~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痛倚,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澜躺,死亡現(xiàn)場(chǎng)離奇詭異蝉稳,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)掘鄙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)耘戚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人操漠,你說(shuō)我怎么就攤上這事收津。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵朋截,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我吧黄,道長(zhǎng)部服,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任拗慨,我火速辦了婚禮廓八,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赵抢。我一直安慰自己剧蹂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布烦却。 她就那樣靜靜地躺著宠叼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪其爵。 梳的紋絲不亂的頭發(fā)上冒冬,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音摩渺,去河邊找鬼简烤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛摇幻,可吹牛的內(nèi)容都是我干的横侦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼绰姻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枉侧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起龙宏,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤棵逊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后银酗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辆影,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年黍特,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛙讥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灭衷,死狀恐怖次慢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤迫像,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布劈愚,位于F島的核電站,受9級(jí)特大地震影響闻妓,放射性物質(zhì)發(fā)生泄漏菌羽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一由缆、第九天 我趴在偏房一處隱蔽的房頂上張望注祖。 院中可真熱鬧,春花似錦均唉、人聲如沸是晨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)罩缴。三九已至,卻和暖如春层扶,著一層夾襖步出監(jiān)牢的瞬間靴庆,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工怒医, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炉抒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓稚叹,卻偏偏與公主長(zhǎng)得像焰薄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扒袖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 工廠模式類似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品塞茅,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式季率。簡(jiǎn)單...
    舟漁行舟閱讀 7,718評(píng)論 2 17
  • 以下是常用的代碼收集野瘦,學(xué)習(xí)用。轉(zhuǎn)自豪情博客園 1. PC - js 返回指定范圍的隨機(jī)數(shù)(m-n之間)的公式 re...
    自由加咖啡閱讀 992評(píng)論 0 1
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,504評(píng)論 25 707
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案飒泻? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,728評(píng)論 1 92
  • <a name='html'>HTML</a> Doctype作用鞭光?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,456評(píng)論 1 19