【发布时间】:2018-02-19 11:45:03
【问题描述】:
这是我从文本字符串中突出显示特定单词的脚本我唯一的问题是,当我想突出显示三个序列单词时,它只突出显示第一个单词,然后第二个仍然没有突出显示,然后突出显示第三个单词
* 它是一个截断并且运行良好
- 这是一个突出显示
n序列词的示例:
var row = {
"Abstract": "This reference is to serve test as a useful reference for testing whether the styling of reference works or not. Adtest all occurrences of 'reference' should be given a color of red tests"
};
//here i need to highlighte "reference" "is" "to" "serve" "test*" (n sequnence words)
var wordsToHighlight = 'reference is to serve test*';
var result = row["Abstract"];
wordsToHighlight.split(" ").forEach(function (word) {
word = word.replace(/\*/g, '\\S*');
result = result.replace(new RegExp('((?:\\s|^)' + word + '(?:\\s|$))', "g"),'<span style="color: red;">$1</span>');
});
document.querySelector("#result").innerHTML = result;
<div id="result"></div>
我的目标是突出段落中的所有单词
寻找您的建议。
【问题讨论】:
-
您能否举一个所需输出的示例,我无法理解您的问题。
-
@DBS 你可以通过点击 RUN code sn-p 来我的例子,它包含一个例子
-
@DBS 我想在段落中突出显示所有单词,例如“参考是为了测试*”。 (*) 这是一个截断
-
谢谢!但是您需要添加第三个参数 result = result.replace(new RegExp('(\\s|^)(' + word + ')(\\s|$)', "gi"),' $1$2$3');
标签: javascript html regex