假设我有一个HTML字符串
var _str = <div>The European languages are members of the same family. <div class="same">Their separate existence is a myth.</div> For science, music, sport, etc, Europe uses the same vocabulary. The languages only differ in their grammar, <div class="same">their pronunciation and their most common words.</div></div>
我想将文字same
替换为<span class="highlighted">same</span>
我正在_str.replace('same', '<span class="highlighted">same</span>');
,所以它也将class="same"
替换为class="<span class="highlighted">same</span>"
任何人都可以帮我解决如何只替换节点内的任何文本(&lt;&gt;)吗?
答案 0 :(得分:0)
_str.replace(/([^"])same([^"])/g, '$1<span class="highlighted">same</span>$2');
如您所述,此解决方案仅限于此特定字符串。如果您只想替换HTML标记之间的文本,解析HTML将是最安全的选项。
答案 1 :(得分:0)
一个简单的解决方案是在相同的&#39;之前添加一个空格,如下所示:
_str.replace(' same', ' <span class="highlighted">same</span>');