我正在寻找一种方法来替换 HTML 字符串中的所有单词,以便用标签包装它们。我曾尝试按空格分割然后遍历单词并替换,但问题是某些单词不以空格开头或结尾(例如新段落)。也许有某种正则表达式可以提供帮助或其他创造性方法?
例如,让我们使用 html 字符串:
<h1>Lorem ipsum dolor sit amet</h1>
<p>consectetur adipisicing elit</p>
<p>sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p>Ut enim ad minim veniam</p>
这是我到目前为止的代码,但效果不够好:
var html = $("#text").html();
var text = $("#text").text();
var words = text.split(' ');
for (var i = 0; i < words.length; i++) {
html = html.replace(words[i], '<span style="color: red;">' + words[i] +'</span>');
}
$("#text").html(html);
jsfiddle:http: //jsfiddle.net/nd6a3/3/