function input() {
            var keywords = document.getElementById("keywords").value;
            var keyhref = document.getElementById("keyhref").value;
            document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(/(keywords)/gi,"<a href=keyhref>keywords</a>");
        }
就是想替换关键字,给他就加上链接

解决方案 »

  1.   

    function input() {
        var keywords = document.getElementById("keywords").value;
        var keyhref = document.getElementById("keyhref").value;
        var reg = new RegExp(keywords, "ig");
        document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(reg, function (word) {
            return "<a href=" + keyhref + ">" + word + "</a>";
        });
    }
    不是很明白你要的效果,不知道这是不是。。
      

  2.   


    function input() {
                var keywords = document.getElementById("keywords").value;
                var keyhref = document.getElementById("keyhref").value;
                var reg = new RegExp(keywords,'gi');
                document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(reg ,"<a href=keyhref>keywords</a>");
            }
      

  3.   

    .replace(/(keywords)/gi,"<a href=keyhref>keywords</a>");
    这里不对 /(keywords)/gi 这里的 keywords 理解成了字符串,而不是变量
    function input() {
                var keywords = document.getElementById("keywords").value;
                var keyhref = document.getElementById("keyhref").value;
                document.getElementById("txt1").innerHTML = document.getElementById("txt1").innerHTML.replace(eval("/"+keywords +"/gi"),"<a href=keyhref>keywords</a>");
            }
      

  4.   

    如果楼主想在正则表达式中插入变量,可以用eval()方法
    比如var regExp = eval('/' + keywords + '/gi');