我的元素:
<p id="someid"> 1 word , 2 words, one word, two words.</p>
我的剧本:
var doc = document.getElementById("someid").innerHTML;
var x = ["1 word", "2 words"];
var y = ["one word", "two words"];
for (i = 0; i < x.length; i++) {
var a = x[i];
var b = y[i];
var c = "\\b"+a+"\\b";
var d = new RegExp(c,'gi');
doc = doc.replace(d, b);
}
document.getElementById("someid").innerHTML = doc;
结果:
&lt; p id =&#34; someid&#34;&gt;一个单词,两个单词,一个单词,两个单词。&lt; / p&gt;
但我想将其更改为:
&lt; p id =&#34; someid&#34;&gt;一个单词,两个单词,一个单词,两个单词。&lt; / p&gt;
我该怎么做呢?
答案 0 :(得分:0)
您的代码只是将a
的所有匹配替换为相应的b
,但您需要进行一些更改才能使其成为双向:
var c = "(\\b"+a+"\\b)|(\\b"+b+"\\b)";
var d = new RegExp(c,'gi');
doc = doc.replace(d, function (match, p1) {
return p1 ? b : a;
});
因此它将a
与相应的b
匹配,反之亦然。