当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > 简单的Html转换UBB的程序

正则表达式
正则在FireFox和IE下使用test的不同
正确使用带有"g"标记的javascript正则表达式
正则表达式 学习资料整理
javascript 正则表达式用法 小结
正则匹配的test函数
JavaScript 正则表达式 验证整数、小数、实数、有效位小数最简单
检测八位数字是否为有效日期的正则
editplus EmEditor和searchandreplace正则表达式
正则应用之 日期正则表达式
正则表达式 学习参考 推荐入门者看
正则基础之 \b 单词边界
正则基础之 小数点
正则 捕获组(capture group)
Dreamweaver 正则替换(返回调用值)
JavaScript 表单验证正则表达式大全[推荐]
JavaScript 使用正则表达式进行表单验证的示例代码
获取网址路径的正则
去除段首段尾的 和全角的空格的正则
正则表达式匹配任意字符(包括换行符)的写法
EditPlus 正则表达式替换字符串详解

正则表达式 中的 简单的Html转换UBB的程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 98 ::
收藏到网摘: n/a

这个功能主要是让 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[^>]*?>([\w\W]*?)<\/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>