Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript仅查找和替换HTML中的整个单词?_Javascript_Regex - Fatal编程技术网

使用JavaScript仅查找和替换HTML中的整个单词?

使用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

我想用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 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