我有一个类似
的html字符串Lorem ipsum <a href='google.com'>google <span>rulz</span></a> not sum
我想删除所有的html标签,我的意思是我想删除所有的html元素,所以字符串应该转换为(在javascript中)
Lorem ipsum not sum
我尝试匹配(并替换)它了:
<([a-z][a-z0-9]*)\b[^>]*>.+?<\/([a-z][a-z0-9]*)\b[^>]*>
问题是我得到了
Lorem ipsum </a> not sum
我认为它发生了,因为正则表达式替换“google rulz”但我希望它替换孔html标记。
有什么想法吗?
答案 0 :(得分:1)
你可以使用jQuery创建一个虚拟元素并获取它的文本内容,即
<script type='text/javascript'>
d = $('div');
d.html(text);
stripped = d.text();
</script>
答案 1 :(得分:0)
您可以使用php.js strip_tags()功能。
答案 2 :(得分:0)
如果你从一个元素中检索这个文本,你可以得到它的innerText
,它将返回没有html的文本。
console.log(getElementById('someId').innerText);
答案 3 :(得分:0)
<[^>]*>
会匹配远程 HTML标记的任何内容。如果这还不够好,您应该使用完整的HTML解析器。
答案 4 :(得分:0)
试
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi