这是我的代码:
var keys = keyword.split(' ');
//alert(keys);
for(var i=0; i<keys.length; i++)
{
var re = new RegExp(keys[i], "gi");
var NewString = oldvar.replace(re, '<span style="background-color:#FFFF00">'+keys[i]+'</span>');
document.getElementById("wordlist").innerHTML=NewString;
alert(keys[i]);
}
但是,如果我输入一个字符串"a b",它会被分成两个字母"a"和"b"。这个替换函数只会替换"a",但当它遇到"b"时,它会覆盖并只替换"b"。但我想同时突出显示"a"和"b"。如何解决这个问题?我还有另一个问题。如果我替换/突出显示它,那么它会替换所有HTML标记中的"a"和"b"。所以,如何防止替换这些HTML标记,但在显示整个文本时需要所有HTML标记。