美文网首页
正则动态匹配关键字高亮(不能匹配HTML标签)

正则动态匹配关键字高亮(不能匹配HTML标签)

作者: 无缘霸哥 | 来源:发表于2021-04-16 10:36 被阅读0次

index.html

<div class="aa"></div>

index.css

mark {
    background: red;
    color: blue;
  }

index.js

let str = '这是<span>世界杯span</span>';
let keyword = 'span';
// 这里采用构造函数的方式初始化正则表达式对象 因为可以使用变量,字面量的方式不能使用变量
let regExp = new RegExp(`(?<!<\/?)${keyword}(?!\/?>)`, 'g');
document.getElementsByClassName('aa')[0].innerHTML = str.replace(regExp, '<mark>$&</mark>')

效果图前后


效果前页面.png
效果前html.png
效果后页面.png
效果后html.png

相关文章

网友评论

      本文标题:正则动态匹配关键字高亮(不能匹配HTML标签)

      本文链接:https://www.haomeiwen.com/subject/plaslltx.html