PHP Newbe: Funktionsaufruf - wird nur letztes Smilie der Funktion ersetzt

Beitrag lesen

Hi David,

Wie rufst du die Funktion denn auf? Gibt es Fehler?

Fehler gibt es keine, aber mir ist gerade noch etwas aufgefallen:
Es wird immer nur das Smilie ersetzt, welches in der Funktion am Ende steht, die anderen werden ignoriert.

<?php
 function smilie($arg) {
  $smilie = str_replace(":confused:","<img src="/smilies/confused.gif" width="15" height="15" border="0" alt="">",$arg);
  $smilie = str_replace(":-)","<img src="/smilies/smile.gif" width="15" height="15" border="0" alt="">",$arg);
  $smilie = str_replace(":lol:","<img src="/smilies/lol.gif" width="15" height="15" border="0" alt="">",$arg);
  echo $smilie;
 }

$text = ':confused: :lol: :-)';
 smilie($text);
?>

In diesem Beispiel wird bei mir nur das ":lol:" ersetzt, weil dieses in der Funktion smilie() als letztes steht.

Vielleicht weiß ja jemand, warum dies so ist?

Thanks
PHP Newbe