站长学堂
你的位置: 中国个人站长站 -- 站长学堂 -- 网页制作 -- HTML/CSS教程 -- 文章正文 将 html 转成 ubb代码的小脚本
推荐位

将 html 转成 ubb代码的小脚本

中国个人站长站 HTML/CSS教程 点击数: 更新时间:2004-10-22 15:43:31
将 html 转成 ubb代码的小脚本
将 html 转成 ubb代码的小脚本
呵呵,这几天沉溺于灌水,发现转贴的时候真的是很不方便,文字、图形、颜色、连接,如果都转过来真的是满费劲的,于是就写了一个小东西,简陋的很,不过倒是可以省一些事

只写了几个常用的标签,如果要添加其他标签,按照已有的正则照猫画虎

(存储于剪切板的超文本和源文件有可能是不同的!!也就是说浏览器已经对原有 html 进行了规范化)

代码:

<script Language="javascript1.2">
//coded by windy_sk <windy_sk@126.com> 20031218

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$2\\n");
 
 str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<\\/font>/ig,"\\n$2\\n");
 
 str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"\\n\\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(/ /g," ");
 str = str.replace(/&/g,"&");
 str = str.replace(/"/g,"\\"");
 str = str.replace(/</g,"<");
 str = str.replace(/>/g,">");
 
 str = str.replace(/
/ig,"\\n");
 str = str.replace(/<[^>]*?>/g,"");
 str = str.replace(/\\[url=([^\\]]+)\\]\\n(\\[img\\]\\1\\[\\/img\\])\\n\\[\\/url\\]/g,"$2");
 str = str.replace(/\\n+/g,"\\n");
 
 return str;
}

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);
}
</script>

<textarea style="width:100%; height:200px" id="text" class="textarea" onbeforepaste="if(document.getElementById('x_paste').checked){window.clipboardData.setData('text',trans());this.focus();}"></textarea><br />
<iframe scrolling="no" id="rtf" src="about:blank" MARGINHEIGHT="0" MARGINWIDTH="0" style="width:0px; height:0px;"></iframe>
<input type="button" value="转换剪切版超文本数据" onclick="document.getElementById('text').value += trans()">
<input type="checkbox" id="x_paste"> <label for="x_paste">启用超文本粘贴转换</label>
<script>
rtf.document.designMode="On";
</script>


使用说明

在别的网页中选择HTML内容,比如有链接,或者颜色的拷贝。 
点击运行代码按钮 
直接点击转换 
出来的就是论坛专用的 ubb 代码了

湖面之周 文章录入:humianzhizhou    责任编辑:swh 
个人站长站与你风雨同舟!
本站所提供的资源均来源于互联网,如有侵权行为,请与本站管理员联系,我们会第一时间删除!
·如果您发现《将 html 转成 ubb代码的小脚本》文章有错误,也请通知我们修改!
联系邮箱chinageren#126.com,谢谢支持!
站内搜索:
广告服务 | 友情链接 | 联系我们 | 免责声明 | 用户留言 | 网站导航
版权所有:中国个人站长站 2007-2008 未经授权禁止复制或建立镜像 客服QQ号:112731235
copyright © 2007-2008 www.ChinaGeRen.com online services. all rights reserved. 苏ICP备05000059号