在一个完整的HTML字符串中清理img标签

时间:2013-08-06 20:39:47

标签: c# regex

我有一个完整的HTML字符串。它看起来像这样:

<html>
  <head>
  </head>
  <body>
    This is a test
     <img width=403 height="302" id="someid1" src="http://mysite.com/images1">
     <img width="456" height=300 src="http://mysite.com/images2" id="someid2">
  </body>
</head>

我想做的是清理来源。我想仅删除img标签中的所有宽度和高度。我想保留ID和SRC属性。

1 个答案:

答案 0 :(得分:3)

这里不需要正则表达式。使用像HtmlAgilityPack这样的html解析器会更好..

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

foreach (var img in doc.DocumentNode.Descendants("img"))
{
    img.Attributes.Remove("width");
    img.Attributes.Remove("height");
}

var newhtml = doc.DocumentNode.OuterHtml;