Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 - Fatal编程技术网

Javascript 解析HTML中的所有内容,找到字符串并替换,但如果匹配,则无法替换标记字符串

Javascript 解析HTML中的所有内容,找到字符串并替换,但如果匹配,则无法替换标记字符串,javascript,Javascript,我想解析HTML中的所有内容,找到一个字符串并替换,但如果匹配,则无法替换标签字符串 我尝试了这个方法,但是它也替换了标签内容,比如类名。但我只想替换文本,而不是标记名或其他内容 var toReplace = 'Hello'; var replaceWith ='Thank you'; document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith); 这样做: <div id="cont

我想解析HTML中的所有内容,找到一个字符串并替换,但如果匹配,则无法替换标签字符串

我尝试了这个方法,但是它也替换了标签内容,比如类名。但我只想替换文本,而不是标记名或其他内容

var toReplace = 'Hello';
var replaceWith ='Thank you';
document.body.innerHTML = document.body.innerHTML.replace(toReplace, replaceWith);
这样做:

<div id="container">
   hello how are you <span class="hello">hello hello how are you</span>
</div>
<button onclick="myFunction();">Try it</button>

<script>
function myFunction()
{
var re = /(hello)(?![^<]*>|[<>]*<\/)/gm; 
var str = document.getElementById("container").innerHTML; 
var res = str.replace(re, 'thank you');
document.getElementById("container").innerHTML=res;

}
</script>

你好你好你好你好你好吗
试试看
函数myFunction()
{

var re=/(hello)(?![^ |[]*如果我理解正确,您试图用新的内容替换say all TD,但不是所有属于标记的TD?我实际上希望用从HTML正文完整内容中查找的字符串替换字符串,那么不替换标记字符串是什么意思?