接上:str = str.replace(/\[flash\].[^\[]*(.swf)\[\/flash\]/ig,'<a href="$2" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="300" height="200"><param name="movie" value="$2"><param name="quality" value="high"><embed src="$2" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="300" height="200">$2</embed></object></center>');
    str = str.replace(/\[flash=*([0-9]*),*([0-9]*)\]).[^\[]*(.swf)\[\/flash\]/ig,'<a href="$4" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="$2" height="$3"><param name="movie" value="$4"><param name=quality value=high><embed src="$4" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="$2" height="$3">$4</embed></object></center>');    str = str.replace(/\[wmv\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="300" height="200" ><param name="showstatusbar" value="-1"><param name="filename" value="$1"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701" flename="mp" src="$1"  width="300" height="200"></embed></object>');
    str = str.replace(/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="$1" height="$2" ><param name="showstatusbar" value="-1"><param name="filename" value="$3"><embed 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>');    str = str.replace(/\[rm\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="300" height="200"><param name="src" value="$1"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="300"><param name="src" value="$1"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
    str = str.replace(/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="$1" height="$2"><param name="src" value="$3"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="$1"><param name="src" value="$3"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
    
    
    str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$2'+'</a>');
    str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1" target="_blank">'+'$1'+'</a>');
    str = str.replace(/\[email=(.[^\[]*)\](.*?)\[\/email\]/ig, '<a href="mailto:$1" target="_blank">$2</a>');
    str = str.replace(/\[email\])(.*?)(\[\/email\]/ig,'<a href="mailto:$2" target="_blank">$2</a>');
    
    str = str.replace(/\[table=(.[^\[]*)\]/ig,'<table width="$1" border="1" style="border-collapse:collapse">');
    str = str.replace(/\[td=([0-9]*),([0-9]*),([0-9]*)\]/ig,'<td colspan="$1" rowspan="$2" width="$3">');
    
    var re = /\s*\[table(=(\d{1,3}%?))?\][\n\r]*([\s\S]+?)[\n\r]*\[\/table\]\s*/ig;
    str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
    str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
    str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
    str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
    
    return str;
}
function code(str){
    var string = '<div><textarea name="codes" id="codes" rows="12" cols="65">'+str+'</textarea><br/><input type="button" value="运行代码" onclick="RunCode()"> <input type="button" value="复制代码" onclick="CopyCode()"> <input type="button" value="另存代码" onclick="SaveCode()"> <input type="button" value="跳&nbsp;&nbsp;转" onclick="Goto(prompt(\"请输入要跳转到第几行?\",\"1\"))"  accesskey="g"> &nbsp;提示:您可以先修改部分代码再运行</div>';
    return string;
}function quote(str){
    var string = '<div style="background:#E2F2FF;width:90%;height:auto;border:1px solid #3CAAEC;padding:5px;">'+str+'</div>';
    return string;
}function parsetable(width, str){
    if(typeof width == 'undefined'){
        var width = '';
    }else{
        width = width.substr(width.length - 1, width.length) == '%' ? (width.substr(0, width.length - 1) <= 98 ? width : '98%') : (width <= 560 ? width : '98%');
    }
    var string = '<table '
        + (width == '' ? '' : 'width="' + width + '" ')
        + 'align="center" class="t_table">';    str = str.replace(/\[td=(\d{1,2}),(\d{1,2})(,(\d{1,3}%?))?\]/ig, '<td colspan="$1" rowspan="$2" width="$4">');
    str = str.replace(/\[tr\]/ig, '<tr>');
    str = str.replace(/\[td\]/ig, '<td>');
    str = str.replace(/\[\/td\]/ig, '</td>');
    str = str.replace(/\[\/tr\]/ig, '</tr>');    string += str;
    string += '</table>';    return string;
}function tabletag(attributes){
    var width = '';
    re = /width=(["']?)(\d{1,3}%?)(\1)/ig;
    var matches = re.exec(attributes);
    if(matches != null && matches.length) {
        width = matches[2].substr(matches[2].length - 1, matches[2].length) == '%' ?
            (matches[2].substr(0, matches[2].length - 1) <= 98 ? matches[2] : '98%') :
            (matches[2] <= 560 ? matches[2] : '98%');
    }else{
        re = /width\s?:\s?(\d{1,3})([px|%])/ig;
        var matches = re.exec(attributes);
        if(matches != null && matches.length) {
            width = matches[2] == '%' ? (matches[1] <= 98 ? matches[1] : '98%') : (matches[1] <= 560 ? matches[1] : '98%');
        }
    }
    return width == '' ? '[table]' : '[table=' + width + ']';
}

解决方案 »

  1.   

    接上:
    function tdtag(attributes){    var colspan = 1;
        var rowspan = 1;
        var width = '';    re = /colspan=(["']?)(\d{1,2})(\1)/ig;
        var matches = re.exec(attributes);
        if(matches != null){
            colspan = matches[2];
        }    re = /rowspan=(["']?)(\d{1,2})(\1)/ig;
        var matches = re.exec(attributes);
        if(matches != null){
            rowspan = matches[2];
        }    re = /width=(["']?)(\d{1,3}%?)(\1)/ig;
        var matches = re.exec(attributes);
        if(matches != null){
            width = matches[2];
        }    return in_array(width, ['', '0', '100%']) ?
            (colspan == 1 && rowspan == 1 ? '[td]' : '[td=' + colspan + ',' + rowspan + ']') :
            '[td=' + colspan + ',' + rowspan + ',' + width + ']';
    }function runCode(obj) {
        var winname = window.open('', "_blank", '');
        winname.document.open('text/html', 'replace');
        winname.opener = null // 防止代码对页面修改
        winname.document.write(obj.value);
        winname.document.close();
    }
    function saveCode(obj) {
         var winname = window.open('', '_blank', 'top=10000');
         winname.document.open('text/html', 'replace');
         winname.document.write(obj.value);
         winname.document.execCommand('saveas','','code.htm');
         winname.close();
    }
    function HTMLtoUBB(){
        var str = pattern(document.getElementById("htmlsource").value);
        document.getElementById("ubbresult").value=str;
    }
    function UBBtoHTML(){
        var str = up(document.getElementById("ubbcode").value);
        document.getElementById("htmlcode").value=str;
    }
    </script><style type="text/css">
    table { border: #CCCCCC 1px; background-color:#E9F8E7; font-size:14px; }
    textarea { width: 717px; height: 166px; }
    </style>
    </head><body>
    <table width="100" border="0" align="center" cellpadding="0" cellspacing="15">
      <tr>
        <td>
            请输入Html代码,转换为UBB:<br><br>
              <textarea id="htmlsource"></textarea><br><br>
            <button onClick="HTMLtoUBB();" type="submit">点击转换为UBB</button>&nbsp;&nbsp;
            <button onClick="document.getElementById('ubbresult').value=''">清空结果</button><br><br>
              对应UBB代码为:<br><br>
              <textarea id="ubbresult"></textarea>
        </td>
      </tr>
      <tr>
        <td>
            请输入UBB,转换为Html:<br><br>
            <textarea id="ubbcode"></textarea><br><br>
            <button onClick="UBBtoHTML();" type="submit">点击转换为Html</button>&nbsp;&nbsp;
              <button onClick="document.getElementById('htmlcode').value=''">清空结果</button><br><br>
            对应Html代码为:<br><br>
            <textarea id="htmlcode"></textarea>
        </td>
      </tr>
    </table>
    </body>
    </html>
    完... 
    为什么我这个一点转换按钮就提示 “缺少对象” 请 cgisir 帮忙查查原因??
      

  2.   


    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 code($2);});/////
        str = str.replace(/\[html\]([^\[]*)\[\/html\]/ig,'<textarea name ="textarea" >$1</textarea>');//////////    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(/\[em\:(\d+)\]/ig, '<img src=\"em/$1.gif\" border="0" >');
        str = str.replace(/\[img=(\d+)\,(\d+),(.+)\]\s*(\S+)\[\/img\]/ig,'<img src="$4" width="$1" height="$2" style="$3" border="0"/>');
        str = str.replace(/\[img=(\d+)\,(\d+)\]\s*(\S+)\[\/img\]/ig,'<img src="$3" width="$1" height="$2" border="0"/>');
        str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig,'<img src="$1" border="0" />');    //str = str.replace(/\[flash=(\d+)\,(\d+)\]\s*(\S+)\[\/flash\]/ig,'<img src="$3" width="$1" height="$2" border="0"/>'));
        //str = str.replace(/\[flash\]([^\[]*)\[\/flash\]/ig,'<img src="$1" border="0" />');
        str = str.replace(/\[flash\].[^\[]*(.swf)\[\/flash\]/ig,'<a href="$2" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="300" height="200"><param name="movie" value="$2"><param name="quality" value="high"><embed src="$2" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="300" height="200">$2</embed></object></center>');
        str = str.replace(/(\[flash=*([0-9]*),*([0-9]*)\]).[^\[]*(.swf)\[\/flash\]/ig,'<a href="$4" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="$2" height="$3"><param name="movie" value="$4"><param name=quality value=high><embed src="$4" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="$2" height="$3">$4</embed></object></center>');    str = str.replace(/\[wmv\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="300" height="200" ><param name="showstatusbar" value="-1"><param name="filename" value="$1"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701" flename="mp" src="$1"  width="300" height="200"></embed></object>');
        str = str.replace(/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="$1" height="$2" ><param name="showstatusbar" value="-1"><param name="filename" value="$3"><embed 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>');    str = str.replace(/\[rm\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="300" height="200"><param name="src" value="$1"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="300"><param name="src" value="$1"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
        str = str.replace(/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="$1" height="$2"><param name="src" value="$3"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="$1"><param name="src" value="$3"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
        
        
        str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$2'+'</a>');
        str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1" target="_blank">'+'$1'+'</a>');
        str = str.replace(/\[email=(.[^\[]*)\](.*?)\[\/email\]/ig, '<a href="mailto:$1" target="_blank">$2</a>');
        str = str.replace(/(\[email\])(.*?)(\[\/email\])/ig,'<a href="mailto:$2" target="_blank">$2</a>');    str = str.replace(/\[table=(.[^\[]*)\]/ig,'<table width="$1" border="1" style="border-collapse:collapse">');
        str = str.replace(/\[td=([0-9]*),([0-9]*),([0-9]*)\]/ig,'<td colspan="$1" rowspan="$2" width="$3">');
        
        var re = /\s*\[table(=(\d{1,3}%?))?\][\n\r]*([\s\S]+?)[\n\r]*\[\/table\]\s*/ig;
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        
        return str;
    }
      

  3.   


    html 转 ubb有问题 转后什么效果都没有了 表格也转不了..............
      

  4.   

    我给你改了下,正则里多出了括号
    UBB转HTML可以, HTML转UBB不行
    还是拆开分析吧, 代码多了看着头疼~ 一块儿块儿来
    这是我改动的函数, 你备份你原来的然后替换相应函数试下
    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 code($2);});/////
        str = str.replace(/\[html\]([^\[]*)\[\/html\]/ig,'<textarea name ="textarea" >$1</textarea>');//////////    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(/\[em\:(\d+)\]/ig, '<img src=\"em/$1.gif\" border="0" >');
        str = str.replace(/\[img=(\d+)\,(\d+),(.+)\]\s*(\S+)\[\/img\]/ig,'<img src="$4" width="$1" height="$2" style="$3" border="0"/>'); 
    str = str.replace(/\[img=(\d+)\,(\d+)\]\s*(\S+)\[\/img\]/ig,'<img src="$3" width="$1" height="$2" border="0"/>');
        str = str.replace(/\[img\]([^\[]*)\[\/img\]/ig,'<img src="$1" border="0" />');
        
        ////////////////////////
        //str = str.replace(/\[flash=(\d+)\,(\d+)\]\s*(\S+)\[\/flash\]/ig,'<img src="$3" width="$1" height="$2" border="0"/>'));
        //str = str.replace(/\[flash\]([^\[]*)\[\/flash\]/ig,'<img src="$1" border="0" />');
    str = str.replace(/\[flash\].[^\[]*(.swf)\[\/flash\]/ig,'<a href="$2" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="300" height="200"><param name="movie" value="$2"><param name="quality" value="high"><embed src="$2" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="300" height="200">$2</embed></object></center>');
        str = str.replace(/\[flash=*([0-9]*),*([0-9]*)\].[^\[]*(.swf)\[\/flash\]/ig,'<a href="$4" target="new"><img src="image/file/swf.gif" border="0" alt="点击开新窗口欣赏该flash动画!" height="16" width="16">[全屏欣赏]</a><br><center><object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="$2" height="$3"><param name="movie" value="$4"><param name=quality value=high><embed src="$4" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="$2" height="$3">$4</embed></object></center>');    str = str.replace(/\[wmv\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="300" height="200" ><param name="showstatusbar" value="-1"><param name="filename" value="$1"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#version=5,1,52,701" flename="mp" src="$1"  width="300" height="200"></embed></object>');
        str = str.replace(/\[wmv=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/wmv]/ig,'<object align="middle" classid="clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="object" id="mediaplayer" width="$1" height="$2" ><param name="showstatusbar" value="-1"><param name="filename" value="$3"><embed 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>');    str = str.replace(/\[rm\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="300" height="200"><param name="src" value="$1"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="300"><param name="src" value="$1"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
        str = str.replace(/\[rm=*([0-9]*),*([0-9]*)\](.[^\[]*)\[\/rm]/ig,'<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="$1" height="$2"><param name="src" value="$3"><param name="console" value="clip1"><param name="controls" value="imagewindow"><param name="autostart" value="true"></object><br><object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" height="32" id="video2" width="$1"><param name="src" value="$3"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>');
        
        
        str = str.replace(/\[url=([^\]]+)\]([^\[]+)\[\/url\]/ig, '<a href="$1">'+'$2'+'</a>');
        str = str.replace(/\[url\]([^\[]+)\[\/url\]/ig, '<a href="$1" target="_blank">'+'$1'+'</a>');
        str = str.replace(/\[email=(.[^\[]*)\](.*?)\[\/email\]/ig, '<a href="mailto:$1" target="_blank">$2</a>');
        str = str.replace(/\[email\](.*?)\[\/email\]/ig,'<a href="mailto:$2" target="_blank">$2</a>');
        
        str = str.replace(/\[table=(.[^\[]*)\]/ig,'<table width="$1" border="1" style="border-collapse:collapse">');
        str = str.replace(/\[td=([0-9]*),([0-9]*),([0-9]*)\]/ig,'<td colspan="$1" rowspan="$2" width="$3">');
        
        var re = /\s*\[table(=(\d{1,3}%?))?\][\n\r]*([\s\S]+?)[\n\r]*\[\/table\]\s*/ig;
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        str = str.replace(re, function($1, $2, $3, $4) {return parsetable($3, $4);});
        
        return str;
    }
      

  5.   

    表格那个应该怎么处理 有个PHP论坛里好像都可以...我这方面了解实在是不怎么深...请求解答.....html 到 Ubb 和 UBB到html对应起来就可以了  要不然内容来回转换后格式就变了...........