2011-01-14 5 views
0

Ich möchte alle Bilder Link zu extrahieren, damit ich alle Bilder frei verwenden kann. wie in asp.net C#Auszug Bilder Link von HTML-Zeichenfolge

<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> 

Ich habe die Lösungen

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

Antwort

3

Sie die HTML Agility Pack die HTML verwenden können, zu tun, zu analysieren und abfragen es XPath-Syntax (wie XmlDocument).

1

Ich würde das HTML Agility Pack verwenden.
Dann können Sie etwas tun:

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

Ein einfacher Weg, dies zu tun ist, um die Zeichenfolge in einen String myString, dann führen Sie den folgenden Code aufgerufen zu setzen:

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("\""))); 
} 

Die Liste imagePaths enthält nun alle Bildlinks.

0

Sie können HTMLAgilityPack verwenden oder Ihre zweite Option ist reguläre Ausdrücke :)