0

ページで正規表現(「abcabc」としましょう)を検索し、その正規表現をリンクに置き換えるJavaScriptが必要です。

今までの私の試みは:

function replText(text) {
    var exp = new RegExp("(abcabc)", "g");

    return text.replace(exp, "<a href=\"http://my_site.com/$1\">$1</a>"); 
}


// http://stackoverflow.com/questions/5494259/jquery-change-all-elements-text
// Thanks to Box9!
function recursiveReplace(node) {
    if (node.nodeType == 3) { // text node
        node.nodeValue = replText(node.nodeValue);
    } else if (node.nodeType == 1) { // element
        $(node).contents().each(function () {
            recursiveReplace(this);
        });
    }
}

recursiveReplace(document.body);

どの...種類の作品。ただし、リンクを作成するのではなく、 <a href=" のような文字列 (エスケープされた HTML エンティティを使用) を作成するため、そうではありません。

私はJqueryを使用するかもしれませんが、私はその専門家ではありません。どうすればそれができるのか、誰にも手がかりがありますか?HTML タグ ('class="abcabc"' など) で置き換えたくありません。

前もって感謝します!

4

1 に答える 1

3

試す

var exp = new RegExp("(abcabc)", "g");
function replText(text) {   
    return text.replace(exp, "<a href=\"http://my_site.com/$1\">$1</a>"); 
}


// http://stackoverflow.com/questions/5494259/jquery-change-all-elements-text
// Thanks to Box9!
function recursiveReplace(node) {
    if (node.nodeType == 3) { // text node
        $(node).replaceWith(replText(node.nodeValue))
    } else if (node.nodeType == 1) { // element
        $(node).contents().each(function () {
            recursiveReplace(this);
        });
    }
}

recursiveReplace(document.body);

デモ:フィドル

于 2013-05-16T09:23:13.877 に答える