HTML页面转UBB代码转换器

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>转贴器 (页面转ubb)</title>
<script language="javascript" type="text/javascript">
<!--
function trans() {
var str = "";
rtf.focus();
rtf.document.body.innerHTML = "";
rtf.document.execCommand("paste");
str = rtf.document.body.innerHTML;
if(str.length == 0) {
alert("剪切版不存在超文本数据!");
return "";
}
return html_trans(str);
}

function html_trans(str) {
str = str.replace(//r/g,"");
str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,"");
str = str.replace(/<script[^>]*?>([/w/W]*?)<//script>/ig,"");

str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<//a>/ig,"/n[url=$1]$2[/url]/n");

str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<//font>/ig,"[color=$1]$2[/color]");

str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"/n[img]$1[/img]/n");

str = str.replace(/<([//]?)b>/ig,"[$1b]");
str = str.replace(/<([//]?)strong>/ig,"[$1b]");
str = str.replace(/<([//]?)u>/ig,"[$1u]");
str = str.replace(/<([//]?)i>/ig,"[$1i]");

str = str.replace(/&nbsp;/g," ");
str = str.replace(/&amp;/g,"&");
str = str.replace(/&quot;/g,"/"");
str = str.replace(/&lt;/g,"<");
str = str.replace(/&gt;/g,">");

str = str.replace(/<br>/ig,"/n");
str = str.replace(/<[^>]*?>/g,"");
str = str.replace(//[url=([^/]]+)/]/n(/[img/][^/[]+?/[//img/])/n/[//url/]/g,"[url=$1]$2[/url]");
str = str.replace(//n+/g,"/n");

return str;
}
function get_img(str) {
var _exp = //[img/][^/[]+?/[//img/]/ig;
var tmp = str.match(_exp);
if(!tmp){
alert("没有[img] *** [/img]代码");
return "";
}
return tmp.jo&#105;n("/r/n");
}
function get_url(str) {
var _exp = //[url(=[^/]]+)?/].*/[//url/]/ig;
var tmp = str.match(_exp);
if(!tmp){
alert("没有[url=***] *** [/url]代码");
return "";
}
return tmp.jo&#105;n("/r/n");
}
function copyTextToPasteBoad(obj) {
if (document.getElementById(obj).value == '') {
alert('文本框中没有代码!');
return false;
}
document.getElementById(obj).sel&#101;ct();
js = document.getElementById(obj).cr&#101;ateTextRange();
js.execCommand('Copy');
alert('成功,已将文本框中的代码复制到剪切板上!');
}

// -->
</script>
<style type="text/css">
<!--
body {
font-size: 12px;
line-height: 130%;
}
-->
</style>
</head>

<body>
<div style="width: 700px;">
<div style="border: 1px solid #ccc; background-color:#ddddFF; padding: 0px 10px;">
<h3>转贴器 (页面转ubb)</h3>
<strong>使用说明</strong>
<ol>
<li>在网页中看到了好的文章,但是文章内图片和链接N多</li>
<li>选中页面中需要的部分,按 <strong>Ctrl+C</strong> 复制</li>
<li>按一下本页面的转换按钮 或 直接 <strong>Ctrl+V</strong> 拷贝到文本框中</li>
<li>就转化成 ubb 代码了</li>
</ol>
</div>
<input name="button" type="button" value=" == 将剪切版数据转为ubb代码 == " οnclick="document.getElementById('ubbCode').value = trans()" />
<input name="button2" type="button" value="复制代码到剪切板" οnclick="copyTextToPasteBoad('ubbCode')" />
<input name="button2" type="button" value="清空" οnclick="document.getElementById('ubbCode').value = ''" />
<br />
<textarea name="ubbCode" rows="20" wrap="off" id="ubbCode" style="width: 100%;" onbeforepaste="window.clipboardData.setData('text',trans());this.focus();"></textarea>
<hr />
<input type="button" value=" -- 只保留img标签 -- " name="button2" οnclick="document.getElementById('filterUbb').value = get_img(document.getElementById('ubbCode').value)" />
<input type="button" value=" -- 只保留url标签 -- " name="button2" οnclick="document.getElementById('filterUbb').value = get_url(document.getElementById('ubbCode').value)" />
<input name="button22" type="button" value="复制代码到剪切板" οnclick="copyTextToPasteBoad('filterUbb')" />
<br />
<textarea name="filterUbb" id="filterUbb" rows="10" wrap="off" style="width: 100%;"></textarea>
<iframe name="rtf" style="width:0px; height:0px;" src="about:blank"></iframe>
<script language="javascript" type="text/javascript">
<!--
rtf.document.designMode="on";
// -->
</script>
</div>
</body>
</html>
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值