Blubb: preg_replace Regex korrekt?

Beitrag lesen

Hallo,

Ich experimentiere gerade mit preg_replace und wollte von euch eigentlich nur wissen, ob die von mir angewendeten Suchparameter korrekt sind?

Was macht denn dein preg_replace() für verschiedene Eingaben?

Ich möchte aus einem Text Links erkennen, welche eine PNG Datei sind und diesen dann in einen klickbaren Link umwandeln. Danke.

Möchtest du nun Links (<a>) oder nur generell Verweise auf PNG-Dateien (in Links, Stylesheets, Javascripts etc.) erkennen?

$text = preg_replace("!(^|[^\"=]{1})(http://)([^\s<>]+)(.PNG|.png)!sme", "'\\1<a id=\"single_image\" href=\"\\2\\3\\4\"><img src=\"\\2\\3\\4\" /></a>'", $text);

Zum regulären Ausdruck:
 - Der globale Modifikator funktioniert bei dir nur, wenn png bzw PNG auf einer neuen Zeile steht und dann sogar ohne den Punkt.
 - Was ist mit https?
 - Was ist mit relativer Adressierung?
 - [^"=]{1} macht höchstwahrscheinlich nicht was du willst.

Grüße