我需要完全删除给定HTML代码的所有样式标记。我发现下面的regex与XML中的整个样式标记匹配。对于在线regex测试程序中给定的Html代码,它工作得很好。
*style\s*=\s*('|")[^\2]*?\2([^>]*)*
然而,通过C代码,它对给定的HTML不起作用。
以下是C代码:
Regex regex = new Regex("style\\s*=\\s*('|\")[^\\2]*?\\2([^>]*)", RegexOptions.IgnoreCase);
最佳答案
Regex应该是
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();
关于c# - 删除HTML中的样式标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19333446/