Internetlinks aus txt bzw. html extrahieren

bastiglasl

Erfahrenes Mitglied
Hallöle!
Wieder mal ein kleines Problem...

Wie kann ich under vb aus einem text einen String (besonders einen Internetlink, von dem ich net mal weiß, wie lang er ist ) rauslesen.
:-)
 
Da wirst Du Dir wohl selbst eine Funktion basteln müssen. Also wenn sichergestellt ist, dass die links z.B. immer mit http beginnen, könntest Du danach suchen und dann diesen TeilString zwischen zwei Leerzeichen auslesen...
 
Links sehen in HTML so aus:
<a href="zieladresse" target="zielframe">Linktext</a>
Das target ist nicht in jedem Link vorhanden, und anstatt Linktext kann da auch ein Bild oder sonstwas sein, aber das href ist immer da.
Die Zieladresse muss nicht immer mit http anfangen, das ist z.B. dann der Fall wenn für das Ziel ein anderes Protokoll verwendet wird oder ein relativer Pfad angegeben wurde.

Du könntest also nach dem String "<a" suchen, alles von da bis ">" ist Teil vom öffnenden Link-Tag. Darin suchst du dann nach "href=" und liest alles zwischen den Hochkommata.
 
Dankeschön! HTML Kenntnisse sollte man scho a bisserl haben :rolleyes:


Und wie sieht's bei nem textfile aus? Was hab ich da für möglichkeiten nen internetlink als solchen zu erkennen? Der Anfang ist klar. http:// oder http://www. Gibt's sonst noch was? Und wann ist der Link zu Ende? Welch Zeichen terminieren den Link sozusagen?
 
Nachdem du ja nur die Zieladresse brauchst musst du nur den fett markierten Teil vom Link auslesen: <a href="zieladresse" sonstwas>...</a>
Du suchst also nach dem <a>-Tag, dann innerhalb nach "href=" und was dann zwischen den Hochkommata steht ist die Zieladresse (Anfang und Abschluss sind Hochkommata).
Sozusagen ein kleiner HTML-Parser.
Wenn du z.B. nur Textdateien suchst könntest du dann die gefundene Zieladresse auf ".txt" am Ende prüfen.

Mögliche Protokollangaben für Adressen:
http für Internetseiten
ftp für FTP
mailto für E-Mail Links
gibt noch ne Reihe anderer

Nach diesen Angabenb zu suchen ist allerdings nicht immer Möglich da es auch relative Pfadangaben gibt und das Protokoll manchmal weggelassen werden kann (http://www.seite.de oder http://www.seite.de verweisen auf das selbe Ziel).
Beispiel:
Angabe der vollständigen Adresse:
<a href="www.meineseite.de/meinordner/meineunterordner/meinedatei"></a>
Wenn die HTML-Datei die diesen Link enthält aber in "meinordner" liegt würde auch folgendes reichen:
<a href="meineunterordner/meinedatei"></a>
Damit kannast du nicht mehr nach www oder http suchen.

siehe auch HTML Referenz (Selfhtml)

//Edit:
Gerade verstanden das du mit "Internet-Link" in Textdateien einfach Adressangaben meinst.

Da solltest du nach bestimmten Mustern suchen:
Was mit http:// oder einem der anderen Protokolle anfängt ist schon mal vielversprechend.
www ist zwar in vielen Adressen enthalten aber nicht zwingend notwendig.
Ein für die Suche geeignetes Muster wäre z.B.
Subdomain.Domain.Kürzel
optional dann noch mit "/" als Trennzeichen angehängte Verzeichnisse und Dateien.

Beispiele für gültige Adressen:
http://seite.de
http://www.seite.de/datei.html
bla.seite.de
http://www.seite.info
...

Einen eindeutigen Abschluss für solche Adressen gibt es nicht, da am Ende z.B. ein .de oder ein /datei.bla oder so stehen kann.
 
Zuletzt bearbeitet:
Zurück