从字符串中删除标签 - HTML5

时间:2015-08-31 20:10:21

标签: javascript regex html5

以下字符串是HTM5中的有效HTML,即使属性中包含>

'<span src="whatever.png" data-info="hello>there">text</span>';

在使用以下变体之前,几乎all solutions proposed

replace( /<.*?>/g, '' )

由于属性中的>而失败了。

还可以选择将内容写入虚拟元素,然后回读textContent,但在处理大量数据时速度非常慢。

所以,我想知道是否有人有任何建议?删除属性 - 或至少在第一遍正则表达式中使用匹配引号的属性值,然后第二遍剥离标记似乎可能是要走的路,但我不能完全理解它!

1 个答案:

答案 0 :(得分:-2)

我相信这个正则表达式应该适合你的目的:

Doit

基本上,它匹配/<([^\"\'>]*|\"([^"\\]|\\.)*\"|\'([^'\\]|\\.)*\')*>/g "'以外的任何字符,或匹配>"后跟任何字符后跟另一个字符'"

只需使用与原始问题相同的方法 - '