使用mark.js取消标记单词

时间:2017-03-04 00:52:33

标签: javascript

我有一些字符串,我将传递给mark.js以突出显示。

"item1 and item2"
"item2 and item3"

在正常段落中我会:

item1 是第一个对象 item2 是另一个对象。

粗体的那些项目是mark.js的亮点,但我想排除几个像[和,或]的单词。

如何排除或取消选择?

1 个答案:

答案 0 :(得分:1)

var ignoreWords = [
    "the",
    "and"
  ],
  keywords = [
    "item1 and item2",
    "item2 and item3"
  ],
  optimizedKeywords = keywords.map(function(val) {
    for (var i = 0, len = ignoreWords.length; i < len; i++) {
      val = val.replace(new RegExp(ignoreWords[i], "gmi"), "");
    }
    return val;
  });
new Mark(".context").mark(optimizedKeywords);
<script src="https://cdn.jsdelivr.net/mark.js/8.8.3/mark.min.js"></script>
<div class="context">
  item1 and item2<br> item2 the item3
</div>

合并this PR后,您可以使用通配符替换字词,以匹配已禁用separateWordSearch的句子。