在span标签中换行文本

Wrapping text in span tags

本文关键字:换行 文本 标签 span      更新时间:2023-09-26

我正在写一个chrome扩展,将改变屏幕上某些单词的颜色。我有困难找到符合我的需要,然后准确地包装它在一个跨度的文本。通常,html中的相同单词在页面的其他位置被替换,使得链接和样式无效。

我的示例代码如下:

var reArray = ['number', 'numbers'];
var re = new RegExp('''b('+reArray.join('|')+')''b', 'gi');
$('p, span').each(function(){
  $(this).html($(this).html().replace(re, '<span class="gold">$1</span>'));
});

事实证明,在正文中替换时,以下正则表达式可以工作。

(>[^<]*?)''b(words|you|want|to|search|for)''b

我的替换文本如下:

$1<span class="gold">$2</span>

的完整代码:

var reArray = ['number','numbers'];
var re = new RegExp('(>[^<]*?)''b('+reArray.join('|')+')''b', 'gi');
$('body').each(function(){
  $(this).html($(this).html().replace(re, '$1<span class="gold">$2</span>'));
});