我想使用 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(使用前将#替换为@)