纯粹自己记录,不想再写,又好找
- 使用字符串的 replace方法 定义方法处理高亮,
replace 方法的字符串匹配只能替换第1个满足的字符 q.replace(“匹配的字符串”,“转换后的字符串”)
// 如果想要全文替换,使用正则表达式
// g 全局
// i 忽略大小写
// 参数 source: 原始字符串
// 参数 keyword: 需要高亮的关键词
// 返回值:替换之后的高亮字符串
highlight (source, keyword) {
// /searchContent/ 正则表达式中的一切内容都会当做字符串使用
// 这里可以 new RegExp 方式根据字符串创建一个正则表达式
// RegExp 是原生 JavaScript 的内置构造函数
// 参数1:字符串,注意,这里不要加 //
// 参数2:匹配模式,g 全局,i 忽略大小写
const reg = new RegExp(keyword, 'gi')
return source.replace(reg, `<span style="color: #3296fa">${keyword}</span>`)
},
- 使用字符串的 split 和数组的 join 方法实现高亮
var str = 'hello world 你好 hello'
const arr = str.split('hello') ;
// arr = ["", " world 你好 ", ""]
const newStr = arr.join("<span>hello</span>")
// newStr = "<span>hello</span> world 你好 <span>hello</span>"
网友评论