preg_replace() Probleme

janosh75

Mitglied
Hallo mal wieder.
Ich habe da ein Problem mit preg_replace():

Ich lasse einen text nach einem Ausdruck (pic[ ]) durchsuchen und extrahiere bei jedem gefunden Ausdruck den Inhalt der eckigen Klammer (Zahl = id). Mit der id mache ich eine DB Abfrage und bekomme für jeden gesuchten Ausdruck den Dateinamen ($jpg):

PHP:
$text = "bla bla bla pic[603] bla  pic[604] bla pic[605] bla pic[606] pic[607] pic[608]";
 $searchfor = "/pic\[(\d+)\]/";
 $search = preg_match_all($searchfor,$text,$result);
  foreach ($result[1] as $picid) {
  	    get_image_by_id($picid);      //liefert den dateinamen
            $jpg = $image['photo'];        //dateiname
            }

Nur wie mache ich jetzt weiter, um im $text jedes pic[ ] mit $jpg zu ersetzen?
Leider komme ich mit preg_replace() so gar nicht zurecht. :(
 
Schönen Dank erstmal.
Ich habe es jetzt allerdings folgendermaßen gelöst:
PHP:
$text = "bla bla bla pic[603] bla  pic[604] bla pic[605] bla pic[606] pic[607] pic[608]";
 $searchfor = "/pic\[(\d+)\]/";
 $search = preg_match_all($searchfor,$text,$result);
 $pictures = array();
  foreach ($result[1] as $picid) {
      get_image_by_id($picid);  //liefert $image/den dateinamen
      $pictures[ ] = "<img src=\"photos/" . $image['photo'] . "\">" ;
      }
echo str_replace($result[0], $pictures, $text);
scheint zu klappen...
 
Zurück