说的不明白   那样ccc不重复了吗?最后什么效果 ?

解决方案 »

  1.   

    就是把<a>标签中页面显示部分保留下来把<a href="www.bb.com">asdf</a>变成asdf
      

  2.   

    (?<=<a\s+href="").*?(?=""\s*/?>)用这个可以提取“<a href=...></a>”之间的内容取出来
      

  3.   

    .*? 非贪婪或最小匹配.
    ?<= 正向引用不包含在匹配值里
    ?= 同上.. (不过上面的哪个没有了<号就会造成不同的结果了)
    "" 因为前面加了个@ 所以这边的""变成了"的意思.
    ?的另一个作用就是 匹配0次或一次了 +号是一次或多次*号是0次或多次
      

  4.   

    HTMLstr = HTMLstr.replace(/<a\s[^>]*?href\s*=\s*["']?www\.bb\.com["']?[^>]*>([\s\S]*)<\/a>/ig,"$1");
      

  5.   

    假如链接的名字是固定并不重复,可以考虑替换节点。<script type="text/javascript">
    function replaceLink(linkname){
        var aryLink = document.getElementsByTagName("a");
        for(var i=aryLink.length-1; i>=0; i--){
            var link = aryLink[i];
            if(link.innerHTML ==  linkname){
                var newNode = document.createElement("span");
                newNode.innerHTML =  linkname;
                
                var parentNode = link.parentNode;
                parentNode.replaceChild(newNode, link) 
            }
        }  
    }
    replaceLink("bb ");
    </script>
      

  6.   

    lz的意思说得不够清晰阿,你有多少个这样的段落,每个段落里面相同的是什么不同的是什么?要完成的是就去掉第二个<a>的标签吗?
      

  7.   

    可能有很多个<a>标签。由于a在页面上是个特殊的样式(可以点击)。就是要把<a>替换成<text/>之类的只显示文本地就可以。zealot21 多谢你的方法
    不知道有没有这个方法parentNode.replaceChild(newNode, link) ,我试验一下