jörg: str_replace

Beitrag lesen

Danke geht super :)

Noch eine Frage:

Ist das so nicht richtig?

$smilie = ":)";
$smilie = ";)";
$smilie = ":(";
$link = "<img src="http://www.cs-erweiterungen.de/images/smilies/smile.gif">";
$link = "<img src="http://www.cs-erweiterungen.de/images/smilies/wink.gif">";
$link = "<img src="http://www.cs-erweiterungen.de/images/smilies/frown.gif">";

$kommentar = str_replace($smilie, $link, nl2br(htmlspecialchars($row["Kommentar"])));
  echo "<div id="comment_text">" . $kommentar . "</div></div>\n";

Weil so hab ich es in einem Buch gesehen.. geht aber nicht.

Naja für das letzte Smilie funktioniert es vll. ":("
Du setzt oben $smilie 3x und $link auch. Die vorherige Wert wird durch = gelöscht.
Du müsstest eine Schleife machen:

  
$smilie = array( ':)', ';)', ':(' );  
$link = array('<img src="http://www.cs-erweiterungen.de/images/smilies/smile.gif">',  
'<img src="http://www.cs-erweiterungen.de/images/smilies/wink.gif">',  
'<img src="http://www.cs-erweiterungen.de/images/smilies/frown.gif">');  
  
// Nun hast du 2 Arrays, die müssen jetzt durchlaufen werden:  
// smilie und link _müssen_ für folgenden code gleich viele Elemente haben!  
for($i = 0; $i < count($smilie); $i++) {  
 echo "<div id=\"comment_text\">" . str_replace($smilie[$i], $link[$i], nl2br(htmlspecialchars($row["Kommentar"])));  
}  

Du hast da aber ein sehr lehrreiches Buch ;-)