RegEx, wie kann ich einen Link auslesen?

Hallo,

text1 text2 text3

mit welchem regulären Ausdruck erhalte ich

  1. den kompletten Link
    text

  2. die URL
    index.htm

  3. den Link-Text
    text2

Vielen Dank.

Gruß, Christian

hallo,

lösung zu 1.:

]*>[^]*

unter php:

preg_match_all ("|(.*)|",
‚text1 text2 text3‘,
$out, PREG_PATTERN_ORDER);
print_r ($out);

ansonsten hab ich grad nix zur Hand, womit ich reguläre Ausdrücke suchen kann

Hallo,

text1 text2 text3

mit welchem regulären Ausdruck erhalte ich

  1. den kompletten Link
    text

‚#]*href="(.)*"[^>]*>(.*)#‘

  1. die URL
    index.htm

das kannst du so nicht parsen. Wenn du’s aus dem kompletten tag herauslesen möchtest, dann kannst du den obigen Ausdruck verwenden. Wenn du aber irgendwo im Quelltext eine absolute URL auslesen möchtest, dann hilft vielleicht folgendes weiter:

#http://(www.[-_a-zA-Z0-9/.~?&,]*)#%23)‘

Aber das Thema URl ist ein wenig komplexer, hiermit wäre nur ein Bruchteil abgedeckt. Zum weiterlesen:
http://de2.php.net/manual/en/function.preg-match.php…

Ausserdem (Luft anhalten bitte):
http://www.foad.org/~abigail/Perl/url3.regex
und zur Erklärung:
http://www.foad.org/~abigail/Perl/url2.html

  1. den Link-Text
    text2

wieder siehe oben! Wenn du mit php arbeitest und ein preg_match anwendest, dann wird $match[0] der komplette String sein (alles von Tag-Anfang zu Tag-Ende), $match[1] der Link und $match[2] der Linktext sein.

Gruss, Omar Abo-Namous

Hallo,

text1 text2 text3

mit welchem regulären Ausdruck erhalte ich

  1. den kompletten Link
    text

‚#]*href="(.)*"[^>]*>(.*)#‘

'Tschuldigung, das ist natürlich Quatsch, es müsste heissen:

‚#]*href="([^">]*)"[^>]*>(.*)#‘

dann kann man das ein wenig verfeinern:

‚#]*href="((http://)?(www.[-_a-zA-Z0-9/.~?&,]*))"[^>]*>(.*)#‘

Gruss, Omar Abo-Namous

Hallo Omar,

Vielen Dank für deine Hilfe.

hab jetzt ein paar Tage nciht rein geschaut und erst jetzt gesehen das noch jemand ne Antwort geschrieben hat.

Gruß, Christian

PS: Ich arbeite mit Cold Fusion