接上: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="跳 转" onclick="Goto(prompt(\"请输入要跳转到第几行?\",\"1\"))" accesskey="g"> 提示:您可以先修改部分代码再运行</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 + ']';
}
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="跳 转" onclick="Goto(prompt(\"请输入要跳转到第几行?\",\"1\"))" accesskey="g"> 提示:您可以先修改部分代码再运行</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 + ']';
}
解决方案 »
- javascript关于confirm的问题
- EXT 如何将grid中的值赋予文本框????
- 【求】可预览+无刷新+带进度条+批量图片上传(JS+PHP)
- 谁有《MVC的JavaScript Web富应用开发》中文版啊?
- 几段文字向上滚动,但中间会停几秒钟,过后又向上滚动,是怎么做的啊?誰知道代码呀~~在线等待~
- 关于遍历删除cookies的问题
- <% %>里从库中读取的路径怎么样能够送到js中去呢?
- document.body.all.length是什么意思
- 怎样判断输入域里是否输入的是数字?
- 三重数组怎么降维。
- 谁有带复选框的树形菜单,其中还要能连接数据库的,分全给了
- 下面这段js代码如何解释?
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>
<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>
<button onClick="document.getElementById('htmlcode').value=''">清空结果</button><br><br>
对应Html代码为:<br><br>
<textarea id="htmlcode"></textarea>
</td>
</tr>
</table>
</body>
</html>
完...
为什么我这个一点转换按钮就提示 “缺少对象” 请 cgisir 帮忙查查原因??
function up(str){
str = str.replace(/</ig,'<');
str = str.replace(/>/ig,'>');
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;
}
html 转 ubb有问题 转后什么效果都没有了 表格也转不了..............
UBB转HTML可以, HTML转UBB不行
还是拆开分析吧, 代码多了看着头疼~ 一块儿块儿来
这是我改动的函数, 你备份你原来的然后替换相应函数试下
function up(str){
str = str.replace(/</ig,'<');
str = str.replace(/>/ig,'>');
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;
}