Mathias Brodala: Regexp mit Links. Brauche mal Eure Hilfe!

Beitrag lesen

Hallo Nachtwesen.

Ich lese mich nun seit Stunden in Regexp ein und ich muss sagen: Das ist mir zu hoch, ich steige durch diese "Logik" einfach noch nicht durch.

Woran hapert es denn? Hast du das vorzügliche Tut beim RegExp-Evaluator studiert?

Es geht sich um …

Paul, bist du es?

… die Links in einer HTML Datei welche ich in PHP einlese. Diese Links haben das Format:

<A HREF="http://www.avatomatic.de/" ADD_DATE="851377089" LAST_VISIT="1172694273" LAST_MODIFIED="851377011" ICON="data:" LAST_CHARSET="ISO-8859-1" ID="rdf:#$pTP7.">Avat-O-Matic</A>

Ich benötige nun nur den Link ansich und den Titel, also
[1] http://www.avatomatic.de/
[2] Avat-O-Matic

Ein mögliches Pattern zum Extrahieren könnte so aussehen:

!<A.*HREF="([^"]+)"[^>]*>([^<]+)</A>!is

Zur Erläuterung:

!      - Aus dem Pool der erlaubten Delimiter gewählt

<A     - Die wortwörtliche Zeichenkette „<A“
.*     - Irgendetwas, beliebig oft
HREF=" - Die Zeichenkette „HREF="“
(      - Öffnende erste Kapselung für das Linkziel
[^"]+  - Irgendetwas außer „"“, mindestens einmal aber auch beliebig oft
)      - Schließende erst Kapselung
"      - Das Zeichen „"“
[^>]*  - Irgendetwas außer „>“, beliebig oft

- Das Zeichen „>“

(      - Öffnende zweite Kapselung für den Linktext
[^<]+  - Irgendetwas außer „<“, mindetens einmal aber auch beliebig oft
)      - Schleißende zweite Kapselung
</A>   - Die Zeichenkette „</A>“

i      - Case Insensitive, Groß- Kleinschreibung also ignorieren
s      - Auch Zeilenumbrüche erlauben

Einen schönen Freitag noch.

Gruß, Mathias

--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules