只写了几个常用的标签,如果要添加其他标签,按照已有的正则照猫画虎
(存储于剪切板的超文本和源文件有可能是不同的!!也就是说浏览器已经对原有html进行了规范化)
//coded by windy_sk 20031218 function html_trans(str) { str = str.replace(/r/g,""); str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,""); str = str.replace(/]*?>([wW]*?)/ig,""); str = str.replace(/]+href="([^"]+)"[^>]*>(.*?)/ig,"n[url=$1]$2[/url]n"); str = str.replace(/]+color=([^ >]+)[^>]*>(.*?)/ig,"n[color=$1]$2[/color]n"); str = str.replace(/]+src="([^"]+)"[^>]*>/ig,"n[img]$1[/img]n"); str = str.replace(//ig,"[$1b]"); str = str.replace(//ig,"[$1b]"); str = str.replace(//ig,"[$1u]"); str = str.replace(//ig,"[$1i]"); 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); } 启用超文本粘贴转换
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
使用说明
在别的网页中选择HTML内容,比如有链接,或者颜色的拷贝。
点击运行代码按钮
直接点击转换
出来的就是论坛专用的ubb代码了