用正则表达式格式化html标签的代码

所属分类: 网络编程 / 正则表达式 阅读数: 747
收藏 0 赞 0 分享
复制代码 代码如下:

<html>
<head>
</head>
<body>
<style>
#x_edit{
  height:320px;
  width:540px;
  border:1px solid #666666;

  color:red;

  filter:chroma(color="#0f0f0f");
  background-color:#f0f0f0;
  font-family:verdana;
  font-size:11px;
  line-height:13px;
  margin-left:16px;
  overflow:scroll;
  border-left:none;
  scrollbar-arrow-color:#666666;
  scrollbar-base-color:#666666;
  scrollbar-darkshadow-color:#f0f0f0;
  scrollbar-face-color:#f0f0f0;
  }
</style>
<span onclick="abc()">格式化</span>
<div contentEditable="true" id="x_edit" style='position:relative;line-height:13px;background-color:#f0f0f0;filter:Chroma(color=#FDFEFF);width:540px;height:320px;overflow:auto;white-space: nowrap; z-index: 2;border:0px'>
<P>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;style&gt;<BR>#x_edit,#x_edit1{<BR>&nbsp; height:320px;<BR>&nbsp; width:540px;<BR>&nbsp; border:1px solid #666666;</P>
<P>&nbsp; color:red;</P>
<P>&nbsp; filter:chroma(color="#0f0f0f");<BR>&nbsp; background-color:#f0f0f0;<BR>&nbsp; font-family:verdana;<BR>&nbsp; font-size:11px;<BR>&nbsp; line-height:13px;<BR>&nbsp; margin-left:16px;<BR>&nbsp; overflow:scroll;<BR>&nbsp; border-left:none;<BR>&nbsp; scrollbar-arrow-color:#666666;<BR>&nbsp; scrollbar-base-color:#666666;<BR>&nbsp; scrollbar-darkshadow-color:#f0f0f0;<BR>&nbsp; scrollbar-face-color:#f0f0f0;<BR>&nbsp; }<BR>&lt;/style&gt;<BR>&lt;span onclick="abc()"&gt;试试获得selection的top,然后加上div的scrollTop,然后除以行高&lt;/span&gt;<BR>&lt;span id="a" onclick="alert('a')"&gt;a&lt;/span&gt;<BR>&lt;span id="b" onclick="alert('b')"&gt;b&lt;/span&gt;<BR>&lt;span id="c" onclick="alert('c')"<BR>&gt;c&lt;/span&gt;<BR>&lt;span id="d" onclick="alert('d')"&gt;d&lt;/span&gt;<BR>&lt;span id="e" onclick="alert('e')"&gt;e&lt;/span&gt;<BR>&lt;span id="f" onclick="alert('f')"&gt;f&lt;/span<BR>&gt;<BR>&lt;span id="g"<BR>&nbsp;onclick="alert('g')"&gt;g&lt;/span&gt;<BR>&lt;textarea id="x_edit" wrap=off&gt;&lt;/textarea&gt;<BR>&lt;div contentEditable="true" id="x_edit1" style='position:relative;line-height:13px;background-color:#f0f0f0;filter:Chroma(color=#FDFEFF);width:540px;height:320px;overflow:auto;white-space: nowrap; z-index: 2;border:0px'&gt;&lt;/div&gt;<BR>&lt;script&gt;<BR>function abc(){<BR>&nbsp;&nbsp;&nbsp; //s=x_edit1.innerText;<BR>&nbsp;&nbsp;&nbsp; var s=x_edit.value;<BR>&nbsp;&nbsp;&nbsp; s=s.replace(/\n/gi,"");<BR>&nbsp;&nbsp;&nbsp; //s=s.replace(/&lt;(\w+)(.*?)[^&lt;&gt;]&gt;/gi,"&lt;"+aaa("$1$2")+"&gt;");<BR>&nbsp;&nbsp;&nbsp; s=s.replace(/&lt;(.*?)[^&lt;&gt;]&gt;/gi,"&lt;"+aaa("$1")+"&gt;");<BR>&nbsp;&nbsp;&nbsp; s=s.replace(/\n/gi,"@");<BR>&nbsp;&nbsp;&nbsp; //var LineValue=x_edit1.innerText.split("\r")<BR>&nbsp;&nbsp;&nbsp; /*var LineValue=x_edit.value.split("\r")<BR>for(var i=0;i&lt;LineValue.length;i++){<BR>&nbsp;&nbsp;&nbsp; LineValue[i]=LineValue[i].replace(/(".*")/gi,"$1".replace(/&lt;/gi,"\xef").replace(/&gt;/gi,"\xff"))<BR>&nbsp;&nbsp;&nbsp; LineValue[i]=LineValue[i].replace(/&lt;(.*[^&lt;&gt;])&gt;/gi,"&lt;"+"$1"+"&gt;\r")<BR>&nbsp;&nbsp;&nbsp; LineValue[i]=LineValue[i].replace(/\r\r/gi,"\r")<BR>&nbsp;&nbsp;&nbsp; LineValue[i]=LineValue[i].replace(/(".*")/gi,"$1".replace(/\xef/gi,"&lt;").replace(/\xff/gi,"&gt;"))<BR>}*/<BR>&nbsp;&nbsp;&nbsp; //x_edit1.innerText=LineValue.join("");<BR>&nbsp;&nbsp;&nbsp; //x_edit.value=LineValue.join("");<BR>&nbsp;&nbsp;&nbsp; x_edit.value=s;<BR>&nbsp;&nbsp;&nbsp; //x_edit1.innerText=s;<BR>}<BR>function aaa(str){<BR>&nbsp;&nbsp;&nbsp; str=str.replace(/\r/gi," ");<BR>&nbsp;&nbsp;&nbsp; return str;<BR>}<BR>&lt;/script&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
</div>

<script>
function abc(){
    var s=x_edit.innerText;
    s=s.replace(/<\/?(\w+[\s\S]*?)>/gi,function(a){return a.replace(/[\r\n]/gi,"")});
    x_edit.innerText=s;
}
</script>
</body>
</html>
更多精彩内容其他人还在看

深入分析正则表达式的子模式

在正则表达式中,可以使用“(”和“)”将模式中的子字符串括起来,以形成一个子模式。将子模式视为一个整体时,那么它就相当于一个单个字符。下面我们就来详细了解下子模式
收藏 0 赞 0 分享

可以少写1000行代码的正则表达式

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。知道这20个正则表达式,能让你少写1000行代码,想知道吗
收藏 0 赞 0 分享

20个正则表达式必知(能让你少写1,000行代码)

这篇文章主要介绍了20个正则表达式必知(能让你少写1,000行代码)的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

这篇文章主要介绍了JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

java常用正则表达式

这篇文章主要介绍了java常用正则表达式,需要的朋友可以参考下
收藏 0 赞 0 分享

如何快速学习正则表达式

在日常工作中,我们经常写正则表达式,比如在表单中经常用来验证用户输入的格式是否正确。接下来通过本文给大家介绍如何快速学习正则表达式,感兴趣的小伙伴一起学习吧
收藏 0 赞 0 分享

运用正则表达式匹配所有表名

这篇文章主要介绍了运用正则表达式匹配所有表名 的相关资料,非常不错,具有参考借鉴价值,需要的朋友一起看看吧
收藏 0 赞 0 分享

浅析正则表达式-替换原则(.NET) 图文

最近经常用到替换的东西所以就出来整理下,这里要分享的是正则表达式里面的替换原则,首先要声明的是这里提及到的替换原则是.NET里面的正则表达式的替换原则
收藏 0 赞 0 分享

正则替换实现输入框只能有数字、中英文逗号

最近在开发过程中,需要一个输入框里面只能有数字与中英文逗号,因为是相关文章,其它的也不让出现,容易造成问题,编程容易把介绍复制到里面,所以想到了这个方法
收藏 0 赞 0 分享

自动检测数字替换非数字的正则表达式

这篇文章主要介绍了自动检测数字替换非数字的正则表达式 ,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多