jQuery - 替换格式化的文本

时间:2016-12-22 15:18:50

标签: javascript jquery html css

<pre class="article">
    aaa aaa aaabbb
</pre>
(function ($) {
    var test = $("pre.article");
    test.html(test.text().replace(/aaa/g, '<span class="aaa">111</span>'));
});
})(jQuery)

Fiddle example

如何将结果保存到:111 111 aaabbb
请帮助我......

3 个答案:

答案 0 :(得分:2)

您可以在搜索文本的末尾添加\ s,以仅在模式后面查找带有任何空白字符的模式。

.replace(/aaa\s/g, '<span class="aaa">111</span>')

保留空间而不必将其添加回使用\ b,它锚定在单词的末尾。

.replace(/aaa\b/g, '<span class="aaa">111</span>')

您可以使用像regex101

这样的正则表达式测试器对字符串尝试不同的表达式

答案 1 :(得分:0)

请确保在aaa

之后也抓住空格

$(function() {
  var test = $("pre.article");
  test.html(test.text()
            .replace(/aaa /g, '<span class="aaa">111</span> '));
})
.aaa{color:red}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre class="article">
aaa aaa aaabbb
</pre>

(并在替换内部 - 添加该空格)

答案 2 :(得分:0)

你的JavaScript的第5行你需要在替换aaa后的空格和你的跨度中的111:

.replace(/aaa /g, '<span class="aaa">111 </span>'));