首页 > 编程 > Regex > 正文

将 html 转成 ubb代码的小脚本

2020-03-16 21:23:39
字体:
来源:转载
供稿:网友
将 html 转成 ubb代码的小脚本,在学习UBB代码的朋友可看下哦。
  1.  <script Language="JavaScript1.2">  
  2. //coded by windy_sk <windy_sk@126.com> 20031218 function html_trans(str) {  
  3.     str = str.replace(//r/g,"");  
  4.     str = str.replace(/on(load|click|dbclick|mouseover|mousedown|mouseup)="[^"]+"/ig,"");  
  5.     str = str.replace(/<script[^>]*?>([/w/W]*?)<//script>/ig,"");  
  6.       
  7.     str = str.replace(/<a[^>]+href="([^"]+)"[^>]*>(.*?)<//a>/ig,"/n$1/n");  
  8.       
  9.     str = str.replace(/<font[^>]+color=([^ >]+)[^>]*>(.*?)<//font>/ig,"/n[color=$1]$2[/color]/n");  
  10.       
  11.     str = str.replace(/<img[^>]+src="([^"]+)"[^>]*>/ig,"/n[img]$1[/img]/n");  
  12.       
  13.     str = str.replace(/<([//]?)b>/ig,"[$1b]");  
  14.     str = str.replace(/<([//]?)strong>/ig,"[$1b]");  
  15.     str = str.replace(/<([//]?)u>/ig,"[$1u]");  
  16.     str = str.replace(/<([//]?)i>/ig,"[$1i]");  
  17.       
  18.     str = str.replace(/ /g," ");  
  19.     str = str.replace(/&/g,"&");  
  20.     str = str.replace(/"/g,"/"");  
  21.     str = str.replace(/</g,"<");  
  22.     str = str.replace(/>/g,">");  
  23.       
  24.     str = str.replace(/ 
  25. /ig,"/n");  
  26.     str = str.replace(/<[^>]*?>/g,"");  
  27.     str = str.replace(//[url=([^/]]+)/]/n(/[img/]/1/[//img/])/n/[//url/]/g,"$2");  
  28.     str = str.replace(//n+/g,"/n");  
  29.       
  30.     return str;  
  31. }  
  32. <P>function trans(){  
  33.     var str = "";  
  34.     rtf.focus();  
  35.     rtf.document.body.innerHTML = "";  
  36.     rtf.document.execCommand("paste");  
  37.     str = rtf.document.body.innerHTML;  
  38.     if(str.length == 0) {  
  39.         alert("剪切版不存在超文本数据!");  
  40.         return "";  
  41.     }  
  42.     return html_trans(str);  
  43. }  
  44. </script> </P> 
  45. <P><textarea style="width:100%; height:200px" id="text" class="textarea" onbeforepaste="if(document.getElementById('x_paste').checked){window.clipboardData.setData('text',trans());this.focus();}"></textarea> 
  46.   
  47. <iframe scrolling="no" id="rtf" src="about:blank" MARGINHEIGHT="0" MARGINWIDTH="0" style="width:0px; height:0px;"></iframe>  
  48. <input type="button" value="转换剪切版超文本数据" onclick="document.getElementById('text').value += trans()">  
  49. <input type="checkbox" id="x_paste"> <label for="x_paste">启用超文本粘贴转换</label>  
  50. <script>  
  51. rtf.document.designMode="On";  
  52. </script>  
  53. </P> 
上一篇:正则表达式 c#

下一篇:论坛UBB代码 推荐

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表