Ein Smilie wird umgewandelt und denn ist schluss.

StefanR

Erfahrenes Mitglied
Hallo ich habe da ein Problem, mit den Ersetzen von Smilies und zwar ist das Ganze so wie auch hier im Forum also ich schreibe : ) (ohne Lehrzeichen) und es kommt das raus: :) So jetzt wird aber immer nur der erste Smilie ersetzt und beim Rest werden die Zeichen ausgegeben. Hier mal mein Code:

PHP:
function smilies($string) {
		
		$sql="SELECT * FROM porsmilies";
		
		$result=mysql_query($sql) or die(mysql_error());
		
		if ($rowNum=mysql_num_rows($result)>0) {
		
		while ($rowsmilie=mysql_fetch_array($result)) {
			
			$string=str_replace($rowsmilie['smilieCode'], '<img src="'.$rowsmilie['smiliePfad'].'" title="'.$rowsmilie['smilieName'].'" />', $string);
			
			return $string;
			
		}
		
	}
	else {
		
		return $string;
		
	}
		
}

Hat einer zufällig nen Denkanstoss für mich, was ich falsch mache?
 
mhhh....
Probier mal
PHP:
function smilies($string) {
        $sql="SELECT * FROM porsmilies";
        $result=mysql_query($sql) or die(mysql_error());
        if (mysql_num_rows($result)) {
        while ($rowsmilie=mysql_fetch_array($result)) {
            $string=str_replace($rowsmilie['smilieCode'], '<img src="'.$rowsmilie['smiliePfad'].'" title="'.$rowsmilie['smilieName'].'" />', $string);
        }
         return $string;
    }
    else {
        return $string;
    }
}
Du musst den String auch erst nach der Schleife weitergeben, wenns nich geht , schreib nochmal, hab den Code jetzt nur eben überflogen!
 
Zurück