【发布时间】:2024-01-23 00:53:01
【问题描述】:
我有这个 HTML:
"This is simple html text <span class='simple'>simple simple text text</span> text"
我只需要匹配任何 HTML 标记之外的单词。我的意思是,如果我想匹配“simple”和“text”,我应该只从“This is simple html text”和最后一部分“text”中得到结果——结果将是“simple” 1 match,“text” 2火柴。谁能帮我解决这个问题?我正在使用 jQuery。
var pattern = new RegExp("(\\b" + value + "\\b)", 'gi');
if (pattern.test(text)) {
text = text.replace(pattern, "<span class='notranslate'>$1</span>");
}
-
value是我要匹配的词(在本例中为“简单”) -
text是"This is simple html text <span class='simple'>simple simple text text</span> text"
我需要用<span> 包装所有选定的单词(在本例中是“简单”)。但我只想包装 any HTML 标记之外的单词。这个例子的结果应该是
This is <span class='notranslate'>simple</span> html <span class='notranslate'>text</span> <span class='simple'>simple simple text text</span> <span class='notranslate'>text</span>
我不想替换里面的任何文字
<span class='simple'>simple simple text text</span>
应该和替换前一样。
【问题讨论】:
-
您能否在问题中提及您使用的语言以及替换的预期结果?
-
@Jerry,示例已添加。