首先把转义替换成特殊字符。
然后在<(?:[^>]+|(["'])[^\1]*\1)+>全部kill掉。。
然后在按特殊字符把转义都替换回来

解决方案 »

  1.   

    呵,测了下。。通过的说。。
    不过没有处理转义(很懒的说)嘿嘿。
    <script type="text/javascript">
    var string = '……<img onload="javascript:if(this.width>screen.width-500)this.style.width=screen.width-500;" src=……(省略) >……';
    var p = /<(?:(["'])[^\1]*\1|[^>'"]*)+>/g;
    var j = string.replace(p, "wc");
    alert(j);
    </script>
      

  2.   

    忽想起。。HTML里没有转义。。
    微风吹过
      

  3.   

    头一次提问,分不多怕分不匀,匆忙中先给分结帖。
    感谢回复。上网查资料学习innerText和“把转义替换成特殊字符”中……
    可能的话也不想浪费别人太多时间,只是innerText和“把转义替换成特殊字符”不太明白怎么用。如果有时间各位大哥稍微解释一下,或者告诉我到哪查找相关资料,多谢。
      

  4.   

    我那个不好用么?
    innerText貌似不兼容非IE浏览器的说。
      

  5.   

    果然好用。
    又对比着看了下正则语法,可能俺比较迟钝,俺的理解是:
    2个<>之间,如果有“或‘匹配到”或’结束;或者匹配之间非“‘〉的字符。
    再次感谢muxrwc的帮助。
      

  6.   

    嗯,就是那个意思。。
    HTML标记里<v>
    v的值只有"v1"和v2(不等于<)两种情况。
    v1的值不等于"
    所以就
    <(v1|v2)+>
    就可以了。。
    但是
    v2的的限定如果只是不等于<的话。。会匹配到v1所以。。
    v2还要多1条限定就是 不等于 "或者'
      

  7.   

    TO:slowhand(早起的鸟儿有虫吃,那么早起的虫子呢?) 那个式子写错了。。呵,改成这个。。var p = /<(?:"[^"]*"|'[^']*'|[^>'"]*)+>/g;