当不在除 P、DIV、SPAN、TD 之外的 html 标签内时,jQuery 查找/替换 html 文本

标签 jquery replace

我有一个 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/

相关文章:

string - Bash:用空字符串替换子字符串

php - Jquery ajax POST 响应为空

javascript - 获取要重置的表单

javascript - 可点击的表格行

javascript - 使用javascript替换字符串值并保留部分替换字符串

php - 删除或匹配 Unicode 零宽度空格 PHP

javascript - Jquery 成功函数未使用 JSONP 触发

jquery - 如何使水平 Accordion 选项卡在第二次单击时关闭?

php - 将文本中的变量替换为相应的值

PHP 相当于 Python 的 `str.format` 方法?