这个功能主要是让 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>
简单的Html转换UBB的程序
2020-07-07 14:28脚本之家 正则表达式
自动识别图片,超链接,字体颜色,和字体加粗,倾斜,下划线的HTML代码,并且转换为UBB代码
延伸 · 阅读
- 2022-03-08js+Html实现表格可编辑操作
- 2022-03-06JavaScript+HTML实现学生信息管理系统
- 2022-02-23React html中使用react的两种方式
- 2022-02-21易语言中嵌入html直接显示方法
- 2022-02-13Java 将Word转为HTML的方法
- 2022-02-12利用C#代码将html样式文件与Word文档互换的方法
- 正则表达式
PHP匹配多行的正则表达式分析
PHP匹配多行的正则表达式分析,需要的朋友可以参考下,多用于采集替换等。...
- 正则表达式
php与javascript正则匹配中文的方法分析
这篇文章主要介绍了php与javascript正则匹配中文的方法,结合实例形式分析了针对utf-8与GBK编码情况下的php、javascript正则匹配中文操作技巧,需要的朋友可以参...
- 正则表达式
JavaScript 正则表达式验证函数代码
上篇文章《JavaScript验证正则表达式大全》说的是javascript中使用的正则表达式的例子,但是没有说这些正则表达式如何使用,现在给大家几个例子,大家可...
- 正则表达式
正则替换实现输入框只能有数字、中英文逗号
最近在开发过程中,需要一个输入框里面只能有数字与中英文逗号,因为是相关文章,其它的也不让出现,容易造成问题,编程容易把介绍复制到里面,所...
- 正则表达式
PHP 正则 email语句详解
PHP正则校验email的代码相信好好学过PHP的人都应该知道下面这段用于eamil校验的语句,但是真正能看懂的就不多了。...
- 正则表达式
谈谈我对正则表达式的认识
正则表达式(Regular Expression)是一个概念,一种语法、句法的约定。每一种具体的语句(C#,Java,JavaScript)有其对于正则表达式的具体实现,并且会有差别。...
- 正则表达式
DW 查找某字符串前的所有字符的正则表达式
我使用DW 这个所见所得的编辑器来写html时,喜欢写上注释,如 等等的注释,在一次比较大的改动时,需要批量查找替换,为了批量操作,于是...
- 正则表达式
UBB代码在论坛中的应用
UBB代码是HTML的一个变种。一般情况下,UBB论坛不允许你使用HTML代码,而只能用UBB代码替代HTML代码。...