[英]Select single word between any HTML tag?
我正在寻找构建一个正则表达式,它将从 HTML 标记之间的所有文本中选择一个单词。 我正在寻找除了 HTML 标签之外的任何地方出现的单词。 问题是我要匹配的单词可能出现在标签的类或 id 中 - 我只想在它位于标签之间时匹配它。
这是我的评论的进一步澄清:我正在寻找一个在循环中使用的正则表达式,它将在另一个包含 HTML 的字符串中找到一个字符串。 大字符串将包含如下内容:
<div class="a-class"<span class="some-class" data-content="some words containing target">some other text containing target</span>
我希望正则表达式只在标签之间匹配单词“目标”,而不是在 data-content 属性中的标签内。 我可以用:
/(\\btarget)\\b/ig
找到目标的每个实例。
http://jsfiddle.net/techsin/xt1j2cj8/3/
这是一种方法。
var cont = $(".cont")
html = cont.html(),
word = "Lorem";
word = word.replace(/(\s+)/, "(<[^>]+>)*$1(<[^>]+>)*");
var pattern = new RegExp("(" + word + ")", "gi");
html = html.replace(pattern, "<mark>$1</mark>");
html = html.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/, "$1</mark>$2<mark>$4");
$(".cont").html(html);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.