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

Javascript 消除html标记

Javascript 消除html标记,javascript,html,regex,Javascript,Html,Regex,我有一个html字符串,比如 Lorem ipsum <a href='google.com'>google <span>rulz</span></a> not sum 我试着用以下方法匹配(并替换): <([a-z][a-z0-9]*)\b[^>]*>.+?<\/([a-z][a-z0-9]*)\b[^>]*> ]*>。+?]*> 问题是,我得到了 Lorem ipsum </a> not s

我有一个html字符串,比如

Lorem ipsum <a href='google.com'>google <span>rulz</span></a> not sum
我试着用以下方法匹配(并替换):

<([a-z][a-z0-9]*)\b[^>]*>.+?<\/([a-z][a-z0-9]*)\b[^>]*>
]*>。+?]*>
问题是,我得到了

Lorem ipsum </a> not sum
Lorem ipsum not sum
我支持这种情况,因为正则表达式替换了“GoogleRulz”,但我希望它替换hole html标记


有什么想法吗?

你可以使用这个函数。

你可以使用这个函数。

如果你从一个元素中检索这个文本,你可以得到它的
innerText
,它将返回没有html的文本

console.log(getElementById('someId').innerText);

如果从元素中检索此文本,则可以获取其
innerText
,它将返回不带html的文本

console.log(getElementById('someId').innerText);

]*>
匹配任何看起来像HTML标记的内容。如果这还不够好,您应该使用一个成熟的HTML解析器。

]*>
匹配任何看起来像HTML标记的内容。如果这还不够好,您应该使用成熟的HTML解析器。

您可以使用jQuery创建虚拟元素并获取其文本内容,即


<script type='text/javascript'>
d = $('div');
d.html(text);
stripped = d.text();
</script>

d=$('div');
d、 html(文本);
stripped=d.text();

您可以使用jQuery创建虚拟元素并获取其文本内容,即


<script type='text/javascript'>
d = $('div');
d.html(text);
stripped = d.text();
</script>

d=$('div');
d、 html(文本);
stripped=d.text();
试试看
var tags=/]*>/gi
试试看
var tags=/]*>/gi

您不使用HTML解析器的原因是什么?您是否尝试过替换任何标记,而不是删除一个正则表达式中的开始标记和结束标记:
?这样,开始标记和结束标记将被分别删除,无需担心匹配它们。您不使用HTML解析器的原因是什么?您是否尝试过替换任何标记,而不是在一个正则表达式中删除开始标记和结束标记:
?这样,开始标记和结束标记将被分别删除,不必担心匹配它们;d、 html(文本);d、 children().remove();stripped=d.text()d=$('div');d、 html(文本);d、 children().remove();stripped=d.text()