Problem mit preg_replace
Klaus
- php
Hallo miteinander,
ich bekomme von einer anderen Applikation einen String $_string beliebiger Länge übergeben, aus dem ich bestimmte
Dinge ausfiltern soll. Sieht etwa so aus:
$_suchmuster = "/(bla)(blub)(blök)/";
$_ersetzung = "$2";
$_ergebnis=preg_replace($_suchmuster,$_ersetzung,$_string);
D.h. (bla) und (blök) fallen unter den Tisch, (blub) wird an die jeweilige Stelle gesetzt, wo das Suchmuster gefunden wurde.
So weit, so gut. Nun möchte ich aber gerne an der jeweiligen Fundstelle (etwa 10 pro String) nicht (blub) hinschreiben,
sondern den Inhalt von (blub) vorher noch mit einer Funktion bearbeiten und dann erst zurückgeben.
So etwa also:
$_suchmuster = "/(bla)(blub)(blök)/";
$_ersetzung = "$2";
$_ergebnis=preg_replace($_suchmuster,function($_ersetzung),$_string);
wobei funcion() eine Funktion ist, die an dem (blub) string noch ein wenig herumschrauben und dann zurückgeben würde.
Mit preg_replace scheint es nicht zu funktionieren, hab es jedenfalls nicht hinbekommen. Habt Ihr eine Idee, wie
man das machen könnte, oder geht das generell nicht...
Dank & Gruss
Klaus
hi,
wobei funcion() eine Funktion ist, die an dem (blub) string noch ein wenig herumschrauben und dann zurückgeben würde.
Mit preg_replace scheint es nicht zu funktionieren, hab es jedenfalls nicht hinbekommen. Habt Ihr eine Idee, wie
man das machen könnte, oder geht das generell nicht...
Du suchst vermutlich preg_replace_callback().
gruß,
wahsaga
Hi,
genial, genau das ist es. Vielen Dank!
Gruss
Klaus