Wenn ich ich mir einen Quelltext geben lass von einer Webseite und den in einen string schreibe. Wie kann ich da bestimmte Tags auslesen bzw. href="XX". Am besten in ein Array schreiben, da ich alle werte von eine Seite haben will die sind ca. so.
<ul class="X"> // Der Cointainer in dem sind mehrer solche Container wie unten
zu den Container oben die class="X" ist bei allen container gleich, nur in einem container verschieden, die container sind immer gleich aufgebaut.
– Gast 19.03.2011
5 Antworten
2
Grundlegend lässt sich dies mit Regular Expressions erledigen. Insofern ich die Frage richtig verstanden habe. Mit welcher Funktion dies gemacht wird hängt davon ab welche Programmiersprache Du verwendest.
Dim sb As StringBuilder = New StringBuilder ' StringBuilder mit dem Text der Homepage füllen ' ' sb.append(...) ' Dim regex As RegularExpressions.Regex = _ New RegularExpressions. _ Regex("(?:href=(?:[""'])([\w\d:#@%/;$()~_?\+-=\\\.&]*)(?:[""']))")
Dim mc As MatchCollection = regex.Matches(sb.ToString()) Dim list As List(Of String) = New List(Of String) For Each m As Match In mc list.Add(m.Groups(1).Value) Next
Ok... für ZebRa. In C# (ist nota bene nicht meine Sprache, ich hoffe, es gibt keinen Fehler)
StringBuilder sb = new StringBuilder(); // StringBuilder mit dem Text der Homepage füllen // sb.append(...) Regex regex = new Regex("(?:href=(?:[\"'])([\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)(?:[\"']))"); MatchCollection mc = regex.Matches(sb.ToString()); List<String> list = new List<String>(); foreach (Match m in mc) { list.Add(m.Groups[1].Value); }
Ich verstehe nicht ganz. Vielleicht habe ich deine Frage falsch verstanden. Damit kriegst du alle Texte, die in einem href-Tag enthalten sind. Also bei href="URL1" wirst du "URL1" bekommen. Und zwar alle im String. Du musst den Code für deine Bedürfnisse evtl. anpassen, optimieren, testen. Oder die Frage bzw. das Problem präziser schildern.