我想要一个 javascript,它在页面上搜索正则表达式(让我们说“abcabc”)并用链接替换该正则表达式。
我现在的尝试是:
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=" -like 字符串(带有转义的 HTML 实体)。
我可能会使用 Jquery,但我不是这方面的专家。任何人都可以知道如何做到这一点?我不想在 HTML-Tags 中替换它(比如 'class="abcabc"' 等等)。
提前致谢!