实现关键字加连接  但是又不影响原来的连接 例如:
     文章中的关键字 刘德华原来有连接  就不replace,也就是不加连接
      其他的没连接的关键字  就加上连接  怎么判断有没有连接啊
  做过的话能贴个代码上来么,好像正则表达式方便点  但是怎么写呢???

解决方案 »

  1.   

    <SCRIPT LANGUAGE="JavaScript">
    var key=["aaa","bbb","ccc"];
    var str = "<a>aaa</a>bbb ccc";
    for(var i=0;i<key.length;i++){
        if(str.indexOf("<a>"+key[i]+"</a>")==-1)str=str.replace(key[i],"<a>"+key[i]+"</a>");
    }
    alert(str);
    </script>
      

  2.   

    怎么做速度最好啊?我也需要一个这样的功能,相当于Discuz的论坛的关健字一样!
      

  3.   

    如果是连接的url不一样  或者你不知道连接的rul  还能这样如indexOf么
    还有更好的方法么???
      

  4.   

     <div id='test'>aaafffgggeeeaaahhhiiibbbooo<a href='javascript:alert("ccc");void(0);' >ccc</a>ddd</div>
     <input type='button' value='add link' onclick='test();'>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function test(){
    var html = document.getElementById('test').innerHTML;
    var keyWords = {'aaa':'http://www.baidu.com','bbb':'http://www.sina.com.cn','ccc':'cccurl','ddd':'dddurl'};
    for (var key in keyWords)
    {
    if (!(new RegExp("<a[^>]*>"+key+"<\/a>","im")).test(html))
    {
    html = html.replace(new RegExp(key,"g"),"<a href='"+keyWords[key]+"'>"+key+"</a>");
    }
    }
    document.getElementById('test').innerHTML = html;
    }
    //-->
    </SCRIPT>