简单的Html转换UBB的程序

这个功能主要是让 UBB 转贴的时候方便点. 

1.自动识别图片,超链接,字体颜色,和字体加粗,倾斜,下划线的HTML代码,并且转换为UBB代码.
2.兼容 IE 和 Mozilla多种浏览器
<html> 
<head> 
<title>Html转换程序</title> 
<SCRIPT language="JavaScript1.2"> 
function HtmlToUBB(str) { 
str = str.replace(/r/g,""); 
str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,""); 
str = str.replace(/<script[^>]*?>([wW]*?)</script>/ig,""); 
str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)</a>/ig,"n[url=$1]$2[/url]n"); 
str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)</font>/ig,"n[color=$1]$2[/color]n"); 
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(/ /g," "); 
str = str.replace(/&/g,"&"); 
str = str.replace(/"/g,"""); 
str = str.replace(/</g,"<"); 
str = str.replace(/>/g,">"); 
str = str.replace(/<br>/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 = ""; 
str = document.getElementById('edit').contentWindow.document.body.innerHTML; 
if (str.length == 0) { 
alert("无转换内容!请使用 Ctrl+V 把内容复制到下面的编辑框内"); 
} 
document.getElementById('ReCode').value=HtmlToUBB(str); 
} 

function clearCode(){ 
document.getElementById('ReCode').value=""; 
} 

function Start() { 
document.getElementById('edit').contentWindow.document.designMode = "on"; 
try { 
document.getElementById('edit').contentWindow.document.execCommand("undo", false, null); 
} catch (e) { 
alert("你的Mozilla浏览器不支持在线RichEditor"); 
} 
} 

function ViewSource(Source){ 
var Html; 
if (Source){ 
document.getElementById('sCode').value = document.getElementById('edit').contentWindow.document.body.innerHTML; 
document.getElementById('edit').style.display="none"; 
document.getElementById('sCode').style.display=""; 
document.getElementById('tip').innerText="修改粘贴后的网页源代码 >>"; 
document.getElementById('tranButton').disabled="disabled" 
} 
else{ 
document.getElementById('edit').contentWindow.document.body.innerHTML = document.getElementById('sCode').value; 
document.getElementById('edit').style.display=""; 
document.getElementById('sCode').style.display="none"; 
document.getElementById('edit').contentWindow.document.designMode = "on"; 
document.getElementById('tip').innerText="请使用 Ctrl+V 把内容复制到这里 >>"; 
document.getElementById('tranButton').disabled="" 
} 
} 
</SCRIPT> 
<style> 
body{background:#688ABD;margin:2px;} 
label{color:#fff;} 
th{font-size:14px;font-family:verdana,宋体;font-weight:bold;color:fc6;text-align:left} 
#sCode{width:400;height:150px;border:1px solid #1F2F47;margin-top:0px !important;margin-top:-1px;margin-bottom:0px !important;margin-bottom:-1px;} 
#ReCode{width:400;height:150px;border:1px solid #1F2F47;font-size:12px;} 
#edit{width:398;height:148px;border:1px solid #1F2F47;background:#fff;font-size:12px} 
.input{ 
border-top:1px solid #fff; 
border-right:1px solid #003; 
border-bottom:1px solid #003; 
border-left:1px solid #fff; 
background:#F4F7FB; 
} 
.tip{ 
color:#ffc; 
font-weight:bold; 
font-size:12px; 
font-family:宋体; 
} 
</style> 
</head> 
<body onload="Start()" style=""> 
<table border="0" align="center"> 
<tr> 
<th style="">Html转换UBB程序</th> 
</tr> 
<tr> 
<td style="font-size:12px;"> 
<label for="Source"><input type="checkbox" id="Source" onclick="ViewSource(this.checked)">查看源代码 </label> 
<input id="tranButton" type="button" value="转 换" onclick="trans()" class="input"> 
<input type="button" value="清 除" onclick="clearCode()" class="input"></td> 
</tr> 
<tr> 
<td class="tip"> 
<span id="tip">请使用 Ctrl+V 把内容复制到这里 >></span></td> 
</tr> 
<tr> 
<td> 
<textarea id="sCode" style="display:none"></textarea> 
<iframe id="edit"src="about:blank" border="0" frameborder="0"></iframe> 
</td> 
</tr> 
<tr> 
<td class="tip"> 
转换输出代码 >></td> 
</tr> 
<tr> 
<td> 
<textarea id="ReCode" readonly="readonly"></textarea> 
</td> 
</tr> 
</table> 
</body> 
</html>

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Js正则表达式过滤特殊字符、表情的实例代码: let ret = "12312ffds#¥@¥#%^***(()))*)).`@%@¥@¥", val = this.customDeviceName;//特殊字符过滤let pattern = new RegExp("[`~!@#$^*()=|{}':;',\\[\\]./?~!@#¥……*()——|{}【】‘;:”“'。,、?]
1、htmlshiv.js Remy开发的HTML5shiv工具能利用JavaScript在老式IE里创建main,header,footer等HTML5元素。也就是说使用JavaScript能创建这些本来不存在的HTML5新元素。这是什么原理?你可能花几天也想不明白,但谁在意呢!这个脚本几乎是所有正式网站必用
HTML5 火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。 1、使用Canvas绘制直线: !doctype html ht
响应式布局,理想状态是,对PC/移动各种终端进行响应。媒体查询的支持程度是IE9+以及其他现代的浏览器,但是IE8在市场当中仍然占据了比较大量的市场份额,使我们不得不进行IE低端浏览器的考虑。那么如何在IE6~8浏览器中兼容响应式布局呢?这里我们需要借助这
近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。