从html文本字符串中提取图像链接

时间:2011-01-14 08:45:35

标签: c# .net asp.net

我想提取所有图像链接,以便我可以自由使用所有图像。怎么做asp.net c#

<div>
    <img src="/upload/Tom_Cruise-242x300.jpg" alt="Tom_Cruise-242x300.jpg" align="left" border="0" height="300" width="242">
    sample text sample text sample text sample text 
    <img src="http://www.sharicons.com/images/rss_icon.jpg" alt="Icon" align="left" border="0" height="100" width="100">
    sample text sample text sample text sample text sample text sample text sample text sample text</div>

我有解决方案

 string ProcessedText = Regex.Replace(sb.ToString(), "^<img[^>]*>", string.Empty);

4 个答案:

答案 0 :(得分:3)

您可以使用HTML Agility Pack解析HTML并使用XPath语法查询它(如XmlDocument)。

答案 1 :(得分:1)

我会使用HTML Agility Pack 然后你可以做这样的事情:

HtmlNodeCollection allImages = doc.DocumentNode.SelectNodes("//img[@src]");

答案 2 :(得分:1)

一种简单的方法是将字符串放入名为myString的字符串中,然后运行以下代码:

List<string> imagePaths = new List<string>();
while( myString.IndexOf("img src=") >= 0 ){
  myString = myString.Substring( myString.IndexOf("img src=")+9);
  imagePaths.Add(myString.Substring(0,myString.IndexOf("\"")));
}

列表imagePaths现在将包含所有图片链接。

答案 3 :(得分:0)

您可以使用HTMLAgilityPack,或者您的第二个选项是正则表达式:)