来源:自学PHP网 时间:2014-10-28 17:27 作者: 阅读:次
[导读] 简单的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[^>]*?>([\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> |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com