换个意思就是html中,去掉所有除了标签以外的内容。
不知怎么写?http://topic.csdn.net/u/20100511/17/6f3da737-d320-4c0c-a70f-c07aabfe76c6.html看了这个贴,但还没明白
虽然可以用/<[^>]*>/gi去匹配所有标签,取出来是一个效果。但我就想用replace直接去掉标签以外的文本,如:<div style="">11111<span>22222</span></div>得到<div style=""><span></span></div>各位帮下忙哈~

解决方案 »

  1.   

    简单的可以这样写<script type="text/javascript">
        var str = "<div style=\"\">11111<span>22222</span></div>";
        var reg = />[^<>]+</g;
        str = str.replace(reg, "><");
        alert(str);
    </script>
      

  2.   

    同意 LS ,但建议改一个字:
    <script type="text/javascript">
        var str = "<div style=\"\">11111<span>22222</span></div>";
        var reg = />[^<]+</g;
        str = str.replace(reg, "><");
        alert(str);
    </script>
      

  3.   

    谢两位回复!
    不过html里的标签不保证是对称的有可能有以下的几种情况11111<br>22222<br>3333或者干脆是不完整的11111<span>22222</span>33333</div>44444最好能通用一些,网上有资料,但是看的还是很费劲呢
      

  4.   

    try...<script type="text/javascript">
        var str = "00000<div style=\"\">11111<span>22222</span></div>33333</div>44444";
        var reg = /(^|>)[^<>]+(?=<|$)/g;
        str = str.replace(reg, "$1");
        alert(str);
    </script>
      

  5.   

    之前的回答是基于LZ给的具体实例,如果要完全的通用性,建议换一个思路:遍历所有 DOM 节点,删除所有NodeType == 3 的节点。
      

  6.   

    <script>var str = "00000<div style=\"\">11111<span>22222</span></div>33333</div>44444";str = str.replace(/[^>]+(?=<|$)/g, "");alert(str)</script>