【问题标题】:Wrapping text in span tags在 span 标签中换行
【发布时间】:2015-09-23 19:41:18
【问题描述】:

我正在编写一个 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>'));
});

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

事实证明,在正文中替换时,以下正则表达式有效。

(>[^<]*?)\\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>'));
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 2012-11-03
    • 2020-10-19
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多