如果我想从一段html代码中想找到某个词语,并且该词语是不带链接的应该如何写?例如我想找到"百度"这个关键字,人,但他不能已经被A标签包围了,例如<a href="xxx.com">  百度  </a>  //不匹配
<a href="xxx.com">  中国百度  </a>//不匹配
<a href="xxx.com">  中国百度你好  </a>//不匹配我是百度啊//匹配

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var html = '<a href="xxx.com">  百度  </a>又一个百度<a href="xxx.com">  中国百度  </a><a href="xxx.com">  中国百度你好  </a>我是百度啊';
    function Rep(str, html) {
    var reg = new RegExp(str + '(?![^<]*<\\/a>)', 'g');
    return html.replace(reg, '<font color=red>百度</font>')
    }
    document.write(Rep('百度',html));
    //-->
    </script>写的比较简单. 考虑的不是很多..看楼主需求
      

  2.   

    首先谢谢你的关注好像不行啊:看这个帖子:http://topic.csdn.net/u/20091219/11/3105168e-6c2f-4137-8e6f-68b9f0b9a0b4.html?seed=2071155143&r=62038897#r_62038897
      

  3.   

    如果为这样的字符串,则您的规则不成功如下:
    <a href="baidu.com">百度</a><a href="baidu.com">   百度 </a><a href="baidu.com">   中国百度好 </a>请问 百度好吗请问 百度好吗
    <a href="">中国</a>
      

  4.   


    <script type="text/javascript">
    <!--
        var html = '<a href="xxx.com">  百度  </a>又一个百度<a href="xxx.com">  中国百度  </a><a href="xxx.com">  中国百度你好  </a>我是百度啊请问 百度好吗 请问 百度好吗 <a href="">中国 </a>';
        function Rep(str, html) {
            var reg = new RegExp(str + '(?![^<]*<\\/a>)', 'mg');
            return html.replace(reg, '<font color=red>百度</font>')
        }
        document.write(Rep('百度',html));
    //-->
    </script>
    //算了 不知道了 我还是没发现错误