使用JavaScript仅查找和替换HTML中的整个单词?
我想用javascript替换网页中出现的所有特定单词 示例句子=使用JavaScript仅查找和替换HTML中的整个单词?,javascript,regex,Javascript,Regex,我想用javascript替换网页中出现的所有特定单词 示例句子=“嗨,伙计们,我有很多东西。这些东西很好。它们很漂亮。看看/home/things.html” 我正在使用 document.body.innerHTML = document.body.innerHTML.replace(/\bthings\b/g, function (x) { return 'OBJECTS'; }); 但是这个就这样被取代了 Hi Guys, I have a lot of OBJECTS. The O
“嗨,伙计们,我有很多东西。这些东西很好。它们很漂亮。看看/home/things.html”
我正在使用
document.body.innerHTML =
document.body.innerHTML.replace(/\bthings\b/g, function (x) {
return 'OBJECTS';
});
但是这个就这样被取代了
Hi Guys, I have a lot of OBJECTS. The OBJECTS are good. They are beautiful-OBJECTS. Look at /home/OBJECTS.html
我只想替换整句话。不(漂亮的东西),(/home/things.html)不应该被替换。我只想更换(东西)。试试这个:
document.body.innerHTML=
replace(/\sthings\b/g,'OBJECTS')代码>
大家好,我有很多事情要做。事情很好。它们是美丽的东西。查看/home/things.html
Ritesh答案在大多数情况下都能正常工作,但当您要替换的单词是文本中的第一个单词时就不行了(除非您在它前面加了一个额外的空格,您可能不想这样做)
document.body.innerHTML=
replace(/(^|\s)things\b/gi,m=>m.replace(/things/i,'OBJECTS')代码>
事情。嗨,伙计们,我有很多事情要做。事情很好。它们是美丽的东西。查看/home/things.html
您最好希望things
不会出现在html部分(例如类名)…您可以使用a遍历所有文本节点并查找要更改的文本,具体取决于目标节点是否有子节点。如果没有,您只需使用innerHTML