christian: Urls nur in bestimmten Fällen parsen

Hallo,
ich habe ein Problem, an welchem ich schon seit gestern ergebnislos grübele:

Ich will in einem Text die Links automatisch parsen lassen. Soweit kein Problem:

$text = preg_replace("/((http(s?)://)|(www.))(([\w-.]+)(/[[1]]+)*)/i", "<a href="http$3://$4$5" target="_blank" class="tnav7">$2$4$5</a>", $text);

Nun will ich mit dem Skript aber nur DIE Links parsen lassen, die nicht von meinem internen Code [url]www.link.net/ersteseite.php[/url] umfasst worden sind.

Wenn im Text also steht:
www.link.net/ersteseite.php --> soll dies als Link umgewandelt werden
[url]www.link.net/ersteseite.php[/url] --> nicht als Link umgewandelt werden

mit meinem kleinen Skript oben werden aber ALLE Links geparst. Kennt jemand eine Lösung?

Liebe Grüße

christian


  1. :space: ↩︎

  1. echo $begrüßung;

    Nun will ich mit dem Skript aber nur DIE Links parsen lassen, die nicht von meinem internen Code [url]www.link.net/ersteseite.php[/url] umfasst worden sind.
    mit meinem kleinen Skript oben werden aber ALLE Links geparst. Kennt jemand eine Lösung?

    Ja, verwende eine negative lookbehind assertion und eine negative lookahead assertion. Siehe Abschnitt Assertions im PCRE-Handbuch-Kapitel.

    echo "$verabschiedung $name";