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

ZekeLeeeee 2007-02-24

代码如下:

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

相关推荐