Preg-replace mit Ausnahmen

W

Wissenscoder

Hallo,
also folgendes Problem habe ich da:
Ich lasse einen Link mit Preg-Replace als link erkennen und auch so ausgeben aus einem Text.
Nun möchte ich, dass wenn da steht [IMG]URL[/IMG], dass er den Link der URL nicht als Link benutzt, sondern als Bild ausgibt, d.h. wie mache ich dem ersten preg_replace befehl klar, dass er es nur machen soll wenn kein [IMG] davor und kein [/IMG] dahinter steht?
 
Code:
(?!\[img\])urlfoobarbla(?!\[/img\])

(?!...) steht für (?=^...) oder auch (?:^...), also einer nicht gefetchten Gruppe, die nicht davor und danach erscheinen darf. Das gehört in den Regex für die automatische Erkennung der URLs. Als besseren Ansatz würde ich die automatische Umwandlung einer URL nur mit umgebenden Whitespaces wählen:
Code:
(?:^|[\w]+)url(?:$|[\w]+)
Bin mir jetzt gar nicht so sicher, ob die Start- und Stopsymbole richtig platziert sind, aber sollte das allgemeine Vorgehen deutlich machen.
 
Zuletzt bearbeitet:
Zurück