javascript - 将句子中的单词替换为格式化的 html

标签 javascript jquery

我有这个字符串:

var text = "Altough I am the eldest son, they stil see me as kdi.";

这个数组:

var errors = ["Altough", "stil", "kdi"];

我想替换数组中句子中的单词,因此文本如下所示:

<span class="error">Altough</span> I am the eldest son, they <span class="error">stil</span> see me as <span class="error">kdi</span>.

我必须使用正则表达式吗?还是 JavaScript 的 Replace() 函数就可以?

最佳答案

使用正则表达式并替换:

var errors = ["Altough", "stil", "kdi"];
var regExp = new RegExp('\\b('+errors.join('|')+')\\b', 'gi');
var text = text.replace(regExp, '<span class="error">$1</span>');

fiddle :http://jsfiddle.net/uezjK/4/

关于javascript - 将句子中的单词替换为格式化的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17889225/

相关文章:

javascript - 如何以包含大约相同数量的男孩和女孩的方式将一些学生分成不同的组

javascript - Firebase 实时数据库 : Does 'value' event fires automatically

javascript - 为什么 Angularjs ng-pattern 不能使用以下正则表达式?

php - 当在不同页面上单击 anchor 标记时,如何更改 php 脚本中的 PHP 变量?

javascript - AJAX 调用期间删除的文件扩展名

Jquery .css 不在函数内工作

js文件中的php Wordpress

页面渲染后执行 Javascript IE6

javascript - Angular JS在视频ID上使用$ http.get,并使用ng-repeat与/embed连接

jquery - 带有 Jquery 的 Web 基础应用程序的颜色主题选择器