这样?
<script>
var str = '<object classid="clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa" class="object" id="raocx" width="300" height="200"><param name="src" value="xxx.rm"><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="xxx.rm"><param name="autostart" value="-1"><param name="controls" value="controlpanel"><param name="console" value="clip1"></object>';var str2='<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="xxx.swf"><param name="quality" value="high"><embed src="xxx.swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash" type="application/x-shockwave-flash" width="300" height="200">xxx.swf</embed></object>';var reg = /<object.+?width=\"(\d+)\"\s*height=\"(\d+)\".+?value=\"(.+?\.)(rm|swf).+<\/object>/i;var rm = str.replace(reg,'[$4=$1,$2]$3$4[/$4]');
var swf = str2.replace(reg,'[$4=$1,$2]$3$4[/$4]');
alert(rm+'\n'+swf);
</script>

解决方案 »

  1.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>HTML与UBB代码互相转换</title>
    <script language="javascript">
    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(/\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\s*src="em\/(\d+)\.gif">/ig, "[em\:$1]");
    str = str.replace(/<img.+\"(.+?)\"\D+(\d+)\D+(\d+)\D+\"(.+?)\">/,'');
    str = str.replace(/<img[^>]*src=[\'\"\s]*([^\s\'\"]+)[^>]*>/ig,'');

    //////////////
    str = str.replace(/<img\s*src="images\/flash(\d+)\.gif".+\"(.+?)\"\D+(\d+)\D+(\d+)\">/,'[flash=$2,$3]$1[/flash]');
    str = str.replace(/<img\s*src="images\/flash(\d+)\.gif">/ig, "[flash]$1[/flash]");
    //////////////
    str = str.replace(/<object.+?width=\"(\d+)\"\s*height=\"(\d+)\".+?value=\"(.+?\.)(rm|swf).+<\/object>/ig, "[$4=$1,$2]$3$4[/$4]");

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

    str = str.replace(/<table([^>]*width[^>]*)>/ig, function($1, $2) {return tabletag($2);});
    str = str.replace(/<table[^>]*>/ig, '[table]');
    str = str.replace(/<tr[^>]*>/ig, '[tr]');
    str = str.replace(/<td>/ig, '[td]');
    str = str.replace(/<td([^>]+)>/ig, function($1, $2) {return tdtag($2);});
    str = str.replace(/<\/td>/ig, '[/td]');
    str = str.replace(/<\/tr>/ig, '[/tr]');
    str = str.replace(/<\/table>/ig, '[/table]');

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

    return str;
    }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" />');

      

  2.   

    接上:
    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 + ']';
    }
      

  3.   

    接上:
    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 帮忙查查原因??