我需要完全删除给定HTML代码的所有样式标签。我发现以下正则表达式可以匹配XML中的整个样式标签。对于在线正则表达式测试器中给定的HTML代码,它工作正常。
*style\s*=\s*('|")[^\2]*?\2([^>]*)*
但是,通过C#代码,它不适用于给定的HTML。
以下是C#代码:
Regex regex = new Regex("style\\s*=\\s*('|\")[^\\2]*?\\2([^>]*)", RegexOptions.IgnoreCase);
正则表达式应该是
style\s*=\s*('|")[^\1]*\1
虽然我会使用Htmlagilitypack
HtmlDocument doc = new HtmlDocument();
doc.Load(yourStream);
var elementsWithStyleAttribute = doc.DocumentNode.SelectNodes("//@style");
foreach (var element in elementsWithStyleAttribute)
{
element.Attributes["style"].Remove();
}
doc.Save();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句