str_replace() > smileys umwandeln

sumpfhuhn

Gesperrt
hi,

ich weiss suchefunktion aber ich werd nicht schlau da draus mit den smileys. ich würde gern das umwandeln wenn jemand :D zb schreibt in bild. hier mein code mal:

PHP:
while ($row = mysql_fetch_array ($result)) {
    		$smiley = str_replace(":D","<img src=gfx/grins.gif",$row[news]);
    		echo"<table width=600>
    		<tr><td bgcolor=#757D83 class=index align=top>$row[topic] | geschrieben am $row[uhrzeit] | id $row[id] </td></td></tr>
    		<tr><td>$row[news]</td></tr>
    		<tr><td bgcolor=white class=index align=top>geschrieben von <a href=mail.php?send=$row[autor]>$row[autor]</a></td></td></tr>
    		</table><br>";
    	}

thx bye
 
Also, so wie du das machst, ist das schon richtig, allerdings bringt es dir nichts, den geänderten Text in der Variable $smiley zu speichern, wenn du dann im Endeffekt doch wieder $row[news] ausgibst. Dann musst du natürlich auch $smiley ausgeben.

Wenn man dann auf die Dauer mehrere Smileys ersetzen will, bietet es sich an, zwei Arrays zu benutzen. Ein Array mit den Smiley's und eins mit dem Ersatzquellcode.

Bsp:
PHP:
$news = $row['news'];
$smileys = array(":)",";)",":D",":p",":rolleyes:");
$smil_repl = array("<img src=\"smile.gif\" />",
"<img src=\"twink.gif\" />",
"<img src=\"laugh.gif\" />",
"<img src=\"tongue.gif\" />",
"<img src=\"rolleyes.gif\" />")

for($x=0;$x<count('$smileys');$x++) {
$news = str_replace($smileys[$x],$smil_repl[$x],$news);
}

echo $news;
 
Zuletzt bearbeitet:
Dann nimm mal die Single-Brakes um $smiley in der for Schleife weg ($x<count($smiley)), oder beherzige erstmal den Anfang meiner Ausführung, warum dein Script nicht funktionierte.
 
Zuletzt bearbeitet:
Hochkommata sind in Verbindung mit Variablen nicht gut.

PHP:
<?php
$foo = "bar";
echo '$foo';
?>

Die Ausgabe wird
Code:
$foo
sein, da Variblen zwischen Hochkommata nicht geparsed werden. :)
 
Zurück