Phil: preg_replace Regex korrekt?

Hallo zusammen

Ich experimentiere gerade mit preg_replace und wollte von euch eigentlich nur wissen, ob die von mir angewendeten Suchparameter korrekt sind? Ich möchte aus einem Text Links erkennen, welche eine PNG Datei sind und diesen dann in einen klickbaren Link umwandeln. Danke.

$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);

Ist der Code zur Erkennung von PNG Links korrekt?

DANKE!

  1. 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