需求:在一段内容中匹配用户搜索的文字,并进行高亮展示。有可能一段内容中包含多个搜索的文字
方案:使用富文本渲染,全局匹配到对应字段,对对应字段添加Html标签及color。
例如:
1、
let user = '搜索'
let text = '这是内容,搜索后的内容,搜索后的内容,搜索后的内容'
let reg = "/"+user+"/g";
let val = text .replace(eval(reg),"替换");
console.log(val) // 这是内容,替换后的内容,替换后的内容,替换后的内容
注:小程序下不能使用eval()函数,所以要使用另一种方法,如2方法。
2、
let user = '搜索'
let text = '这是内容,搜索后的内容,搜索后的内容,搜索后的内容'
let reg = new RegExp(user ,'g');
let val = text .replace(reg,"替换");
console.log(val) // 这是内容,替换后的内容,替换后的内容,替换后的内容