使用Javascript,我正在尝试在页面上的某些文本周围包裹span标签,但我不想在已经在一组span标签内部的文本周围包裹标签。
目前我正在使用:
任何帮助都将不胜感激。谢谢。
目前我正在使用:
html = $('#container').html();
var regex = /([\s| ]*)(apple)([\s| ]*)/g;
html = html.replace(regex, '$1<span class="highlight">$2</span>$3');
它能工作,但如果同一个字符串被使用两次,或者该字符串出现在另一个字符串中,例如“一堆苹果”后面跟着“苹果”,那么我最终会得到这个结果:
<span class="highlight">a bunch of <span class="highlight">apples</span></span>
我不希望它在第二次出现时替换“apples”,因为它已经在 span 标签中。
这里应该匹配“apples”:
Red apples are my <span class="highlight">favourite fruit.</span>
但不是在这里:
<span class="highlight">Red apples are my favourite fruit.</span>
我尝试使用这个,但它不起作用:
([\s| ]*)(apples).*(?!</span)
任何帮助都将不胜感激。谢谢。