Eduard Ertl: Logischer Fehler bei for und/oder foreach

Beitrag lesen

Hallo.

Ich möchte in meinem Gästebuch Smileys einbauen. Die werden als :-) in die Datenbank geschrieben, und so auch rausgeholt.
Vor dem Ausgeben möchte ich jetzt den Text scannen nach dem Vorkommen eines Smileys, und es ggf ersetzen.
Momentan mache ich das so:

  
function show($text){  
 //Smileykonfiguration holen  
 $import=file_get_contents("gb/smiley_conf.dat");  
  
 //Einlesen  
 $smiley_array=explode("\n",$import);  
 for($x=0;$x<count($smiley_array);$x++){  
  $smiley_array[$x]=explode(",",$smiley_array[$x]);  
 }  
  
// print_r($smiley_array);  
  
  
 //Text scannen nach Smileys  
 for($x=0;$x<count($smiley_array);$x++){  
  foreach($smiley_array[$x] as $smile){  
   $text = str_replace($smile,$smiley_array[$x][0],$text);  
   return $text;  
  }  
 }  
  
}  

Der Inhalt der Datei smiley_conf.dat:

<img src="gb/1.gif">,:-),:),:=)
<img src="gb/2.gif">,:-(,:(,:=(

Die Aufteilung des Dateiinhalts in ein mehrdimensionales Array klappt wie ich es wollte, das sagt mir print_r.
Also muss der Fehler irgendwo unten in den for und foreach-Schleifen liegen. Nur finde ich ihn nirgends. Wo ist er denn?

PS: Ich habe den Code selber geschrieben und nirgendwo anders hergeholt.

Viele Grüße
Eduard Ertl