Links extrahieren?
Martin
- javascript
0 Michael
hi,
angenommen, ich habe eine variable mit dem quelltext einer datei - wie kriege ich (beispielsweise) einen array mit allen links, die auf .php, .html, .htm, .asp und .shtml enden?
- ich blicke da zuwenig mit den regulären Ausdrücken durch.
Martin
hi,
angenommen, ich habe eine variable mit dem quelltext einer datei - wie kriege ich (beispielsweise) einen array mit allen links, die auf .php, .html, .htm, .asp und .shtml enden?
- ich blicke da zuwenig mit den regulären Ausdrücken durch.
Hi,
Nun gut: Betrachten wir den HTML-Sourcecode als Variable.
Zuerst definierst Du ein Array von Stringvariablen
Nun nehmen wir an, alle zu suchenden URIs beginnen mit "HTTP://...
Dann durchsuchen wir die "Variable" mit dem Sourcecode mit
und übergeben die erste gefundene URI in den Array:
Nun müssen wir noch die Variable kürzen mit
Nun können wir nach der nächsten URI suchen und oben erneut starten.
Das ganze macht sich gut in einer While-Schleife.
Übrigens mußt Du den Text in eine "function" einbinden:
function SucheURISinText(Variable) {
Hier gehören die o. g. Befehle hin.
}
Wenn Du Hilfe bei den Befehlen brauchst, suche nach dem Wort oder
Befehl unter
http://selfaktuell.teamone.de/ unter Suche.
Suchst Du jetzt mehrere URI-Endungen in einem Durchgang, solltest
Du anstelle von Befehl 3) folgende Befehle einbinden:
Ende1 = Variable.IndexOf(".php");
Ende2 = Variable.IndexOf(".html");
Ende3 = Variable.IndexOf(".asp");
Ende4 = Variable....
Wenn Du jetzt mit einer IF-Staffel den kleinsten Wert ermittelst,
weist Du, welche URI Du als nächst zu lesen hast.
Ende = Min(Ende1, Ende2)
If (Ende == Ende1) Ende = Ende + 3 // +3 wegen .php
else {
Ende = Min(Ende2, Ende3)
IF (Ende == Ende2) Ende = Ende + 4; // +4 wegen .html
else {
Ende = Min(Ende3, Ende4)
IF ...
}
}
Viel Glück und Spaß beim Programmieren...
Michael.