我想提取所有图像链接,以便我可以自由使用所有图像。怎么做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);
答案 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,或者您的第二个选项是正则表达式:)