我有一个 html 文本片段,它是页面 DOM 的一部分,我需要在其上运行查找/替换,并且我需要一些帮助来确定创建查找/替换函数的最佳方法。
例如,我想获取 id="content"的 dom 对象的内容,并使用目标搜索短语运行查找替换。
我需要该函数将它在内容中找到的短语的每个实例替换为“The Phrase”,前提是该短语不会出现在除 div、p、 span 或 td 标签,并返回替换后的 xhtml 文本。
我可以使用 jQuery dom 遍历和一些替换方法来做到这一点吗?
最佳答案
这就是我用来查找搜索字符串的方法。正则表达式检查不属于 HTML 标记的文本。在替换函数中 $&
引用匹配的字符串。
var rx = new RegExp('(?![^<]+>)' + searchString, 'gi');
$(this).html(function (i, html) {
return html.replace(rx, '<b>$&</b>')
});
至于不属于任何其他 HTML 标记,您必须提供一个示例。这就是事情可能变得棘手的地方。
关于当不在除 P、DIV、SPAN、TD 之外的 html 标签内时,jQuery 查找/替换 html 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087984/