正则表达式替换图像标签src属性值

时间:2012-10-30 13:37:37

标签: c# asp.net regex

我有string,其中包含文档的HTML代码。

里面可以有multiple image tags

我想要做的是将img标记的src属性值(即url)传递给C#函数,并用函数返回替换该值。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

正则表达式不适合解析HTML文件.HTML并不严格,也不是常规的格式。(例如:在非严格的html中,确定以使标签没有结束标记)

使用htmlagilitypack

您可以使用htmlagilitypack来执行此操作

HtmlDocument doc = new HtmlDocument();
doc.Load(yourStream);

foreach(var item in doc.DocumentNode.SelectNodes("//img[@src]"))//select only those img that have a src attribute..ahh not required to do [@src] i guess
{
 item.Attributes["src"].Value=yourFunction(item.Attributes["src"].Value);
}
doc.Save("yourFile");//dont forget to save