Sp33dy G0nz4l3s: $image[1] = $explode - Warum geht das nicht?

Beitrag lesen

Danke euch habe es jetzt hinbekommen! Ich habe jedoch noch eine Frage. Mir ist nicht ganz klar warum das so ist:

  
$beschreibung = $row['beschreibung'];  
preg_match_all("|{(.*?)}|", $beschreibung, $image);  
foreach($image['1'] as $value){  
$img_array = GetImageSize("bilder/".$value.".jpg");  
$bildstring = "<img src=\"bilder/".$value.".jpg\"".$img_array['3']." />";  
$muster = "|{".$value."}|";  
$beschreibung = preg_replace($muster, $bildstring, $beschreibung);  
}

So funktioniert alles perfekt. Davor hatte ich es jedoch so stehen:

  
preg_match_all("|{(.*?)}|", $row['beschreibung'], $image);  
foreach($image['1'] as $value){  
$img_array = GetImageSize("bilder/".$value.".jpg");  
$bildstring = "<img src=\"bilder/".$value.".jpg\"".$img_array['3']." />";  
$muster = "|{".$value."}|";  
$beschreibung = preg_replace($muster, $bildstring, $row['beschreibung']);  
}

Von drei Bildern. Z.B. {a}{b}{c} Wurde immer nur das letzte (c) angezeigt. $row['beschreibung'] kommt aus einer Datenbank

Könnt ihr mir sagen warum es bei der ersten Variante ging und bei der zweiten nur das letzte Bild angezeigt wurde?