ubb标签转html(dz论坛也支持)

在开发过程中,有很多论坛把数据格式转成了ubb格式

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

在网上找到了一个例子

    

上面的up方法已经兼容很大一部分了但是有个别的论坛可能繁琐点,我做出了点修改和添加。
注:因为适配原因str = str.replace(/[size=(\d+?)]/ig,''); 我把 “ $1”改成了2.具体根据自己的需求改动

  //str代表字符串   ubb转html    up(字符串)即可
  function up(str){

    str = str.replace(//ig,'>');
    str = str.replace(/\n/ig,'
'); str = str.replace(/\[code\](.+?)\[\/code\]/ig, function($1, $2) {return phpcode($2);}); str = str.replace(/\[hr\]/ig,'
'); str = str.replace(/\[\/(size|color|font|backcolor)\]/ig,'
'); 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,''); str = str.replace(/\[\/align\]/ig,'

'); str = str.replace(/\[(\/)?h([1-6])\]/ig,'<$1h$2>'); str = str.replace(/\[align=(left|center|right|justify)\]/ig,'

'); str = str.replace(/\[size=(\d+?)\]/ig,''); str = str.replace(/\[size=(\d+?.\d+?)pt\]/ig,''); str = str.replace(/\[size=(\d+?)pt\]/ig,''); str = str.replace(/\[size=(\d+?)px\]/ig,''); str = str.replace(/\[p=(\d+?), null, center\]/ig,''); str = str.replace(/\[i=s\]/ig,''); str = str.replace(/\[color=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[backcolor=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[font=([^\[\<]+?)\]/ig, ''); str = str.replace(/\[list=(a|A|1)\](.+?)\[\/list\]/ig,'

    $2
'); str = str.replace(/\[(\/)?list\]/ig,'<$1ul>'); str = str.replace('<','<').replace('>','>'); str = str.replace(/\[s:(\d+)\]/ig,function($1,$2){ return smilepath($2);}); str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig,''); str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, ''+'$2'+''); str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, ''+'$1'+''); return str; }

前端小白,有意见请@我~~~

你可能感兴趣的:(ubb标签转html(dz论坛也支持))