使用 Regex C# 删除 HTML 标签的样式

2024-02-06

我想使用 C# 从 HTML 标签中删除样式。它应该只返回 HTML 简单标签。

对于即 如果String = <p style="margin: 15px 0px; padding: 0px; border: 0px; outline: 0px;">Hello</p>然后它应该返回String = <p>Hello</p>

就像所有 HTML 标签一样,<strong></string>, <b></b>等等等等

请帮助我。


首先,正如其他人所建议的,使用正确的 HTML 解析器的方法是好多了 https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags。要么使用Html敏捷包 http://htmlagilitypack.codeplex.com/ or CsQuery https://github.com/jamietre/CsQuery.

如果你真的想要一个正则表达式解决方案,这里是:

替换这个模式:(<.+?)\s+style\s*=\s*(["']).*?\2(.*?>)
With: $1$3

Demo: http://regex101.com/r/qJ1vM1/1 http://regex101.com/r/qJ1vM1/1


要删除多个属性,因为您使用的是 .NET,所以这应该可行:

Replace (?<=<[^<>]+)\s+(?:style|class)\s*=\s*(["']).*?\1
带有空字符串

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Regex C# 删除 HTML 标签的样式 的相关文章

随机推荐