示例代码如下
/**
* 字符串高亮关键字
* @param string str 整段话
* @param array keyword 关键字数组
* @return string 高亮后的字符串
*/
function highlight(str, keyword) {
//根据关键字生成正则表达式
let patt = eval(`/(${keyword.join('|')})/gi`)
//实操替换并返回
return str.replace(patt, function($, $1, $2) {
return '<span style="color:red">' + $ + '</span>';
})
}
let str = ' 今天天气不错, 哈哈. 今天是星期三.'
let keyword = ['天气', '星期三']
console.log(highlight(str, keyword))
//输出: '今天<span style="color:red">天气</span>不错, 哈哈. 今天是<span style="color:red">星期三</span>'