我被引导到 GitHub ( https://github.com/cowboy/javascript-linkify ) 上的 Linkify 项目,以查找和“链接”只是在文本中浮动的 URL 和域。
这很棒!它完全适用于文本!
但是,我不太确定如何使它适用于textNode
具有我想要链接的文本的文本。
我知道textNode
唯一textContent
的......它都是文字。由于此 Linkify 函数将 HTML 作为文本返回,有没有办法获取一个 textNode 并使用 Linkify 输出“重写”其中的 HTML?
我一直在 JSFiddle 上玩它:http: //jsfiddle.net/AMhRK/9/
function repl(node) {
var nodes = node.childNodes;
for (var i = 0, m = nodes.length; i < m; i++) {
var n = nodes[i];
if (n.nodeType == n.TEXT_NODE) {
// do some swappy text to html here?
n.textContent = linkify(n.textContent);
} else {
repl(n);
}
}
}