Function

Samy-Deluxe

Erfahrenes Mitglied
Hallo ich habe da eine Funktion erstellt, die irgentwie nicht ausgeführt wird.
Kann jemand den fehler erkennen
PHP:
while($gb = mysql_fetch_array($query2)){
smiles($gb['eintrag']);
		 echo $gb['eintrag']; }

config.php
PHP:
function smiles($eintrag)
	{
		$eintrag = str_replace(":o","<img src=\"images/smiles/amazed.gif\">", $eintrag);
		$eintrag = str_replace("^_^","<img src=\"images/smiles/amuse.gif\">", $eintrag);
		$eintrag = str_replace(":D","<img src=\"images/smiles/bigsmile.gif\">", $eintrag);
		$eintrag = str_replace("o_O","<img src=\"images/smiles/blink.gif\">", $eintrag);
		$eintrag = str_replace(":P","<img src=\"images/smiles/cheesy.gif\">", $eintrag);
		$eintrag = str_replace(":S","<img src=\"images/smiles/confused.gif\">", $eintrag);
		$eintrag = str_replace("8)","<img src=\"images/smiles/cool.gif\">", $eintrag);
		$eintrag = str_replace(":'(","<img src=\"images/smiles/cry.gif\">", $eintrag);
		$eintrag = str_replace(">8(","<img src=\"images/smiles/evil.gif\">", $eintrag);
		$eintrag = str_replace("=D","<img src=\"images/smiles/laugh.gif\">", $eintrag);
		$eintrag = str_replace(":@","<img src=\"images/smiles/mad.gif\">", $eintrag);
		$eintrag = str_replace("=/","<img src=\"images/smiles/notrust.gif\">", $eintrag);
		$eintrag = str_replace("v_v","<img src=\"images/smiles/noworry.gif\">", $eintrag);
		$eintrag = str_replace("8D","<img src=\"images/smiles/nuts.gif\">", $eintrag);
		$eintrag = str_replace("'_'","<img src=\"images/smiles/oh.gif\">", $eintrag);
		$eintrag = str_replace(">_<","<img src=\"images/smiles/push.gif\">", $eintrag);
		$eintrag = str_replace(":roll:","<img src=\"images/smiles/rolleyes.gif\">", $eintrag);
		$eintrag = str_replace(":(","<img src=\"images/smiles/sad.gif\">", $eintrag);
		$eintrag = str_replace(":$","<img src=\"images/smiles/shy.gif\">", $eintrag);
		$eintrag = str_replace(":x","<img src=\"images/smiles/sick.gif\">", $eintrag);
		$eintrag = str_replace(":)","<img src=\"images/smiles/smile.gif\">", $eintrag);
		$eintrag = str_replace("¬_¬","<img src=\"images/smiles/suspicious.gif\">", $eintrag);
		$eintrag = str_replace("ó_ò","<img src=\"images/smiles/unsure.gif\">", $eintrag);
		$eintrag = str_replace(";)","<img src=\"images/smiles/wink.gif\">", $eintrag);
	}
 
Die Funktion wird schon ausgefuehrt.
Das Problem ist, dass der Wert nur innerhalb der Funktion manipuliert wird. Der Originalwert bleibt dabei bestehen. Entweder Du uebergibst den Wert als Referenz oder Du arbeitest mit einem Rueckgabe wert.

Beispiel:
PHP:
function ref(&$x)
{
 $x++;
}
function ret($x)
{
 return $x++;
}
$x=0;
echo $x.'<br>';
ref($x);
echo $x.'<br>';
ret($x);
echo $x.'<br>';
$x=ret($x);
echo $x.'<br>';
Ausgabe:
Code:
0
1
1
2
 
Soll ich das dann so machen
PHP:
return $eintrag = str_replace(":o","<img src=\"images/smiles/amazed.gif\">", $eintrag);
aber das funktioniert auch net
 
Deine Funktion müsste dann so aussehen:
PHP:
function smiles($eintrag) 
    { 
        $eintrag = str_replace(":o","<img src=\"http://www.tutorials.de/forum/images/smiles/amazed.gif\">", $eintrag); 
        $eintrag = str_replace("^_^","<img src=\"http://www.tutorials.de/forum/images/smiles/amuse.gif\">", $eintrag); 
        $eintrag = str_replace(":D","<img src=\"http://www.tutorials.de/forum/images/smiles/bigsmile.gif\">", $eintrag); 
        $eintrag = str_replace("o_O","<img src=\"http://www.tutorials.de/forum/images/smiles/blink.gif\">", $eintrag); 
        $eintrag = str_replace(":P","<img src=\"http://www.tutorials.de/forum/images/smiles/cheesy.gif\">", $eintrag); 
        $eintrag = str_replace(":S","<img src=\"http://www.tutorials.de/forum/images/smiles/confused.gif\">", $eintrag); 
        $eintrag = str_replace("8)","<img src=\"http://www.tutorials.de/forum/images/smiles/cool.gif\">", $eintrag); 
        $eintrag = str_replace(":'(","<img src=\"http://www.tutorials.de/forum/images/smiles/cry.gif\">", $eintrag); 
        $eintrag = str_replace(">8(","<img src=\"http://www.tutorials.de/forum/images/smiles/evil.gif\">", $eintrag); 
        $eintrag = str_replace("=D","<img src=\"http://www.tutorials.de/forum/images/smiles/laugh.gif\">", $eintrag); 
        $eintrag = str_replace(":@","<img src=\"http://www.tutorials.de/forum/images/smiles/mad.gif\">", $eintrag); 
        $eintrag = str_replace("=/","<img src=\"http://www.tutorials.de/forum/images/smiles/notrust.gif\">", $eintrag); 
        $eintrag = str_replace("v_v","<img src=\"http://www.tutorials.de/forum/images/smiles/noworry.gif\">", $eintrag); 
        $eintrag = str_replace("8D","<img src=\"http://www.tutorials.de/forum/images/smiles/nuts.gif\">", $eintrag); 
        $eintrag = str_replace("'_'","<img src=\"http://www.tutorials.de/forum/images/smiles/oh.gif\">", $eintrag); 
        $eintrag = str_replace(">_<","<img src=\"http://www.tutorials.de/forum/images/smiles/push.gif\">", $eintrag); 
        $eintrag = str_replace(":roll:","<img src=\"http://www.tutorials.de/forum/images/smiles/rolleyes.gif\">", $eintrag); 
        $eintrag = str_replace(":(","<img src=\"http://www.tutorials.de/forum/images/smiles/sad.gif\">", $eintrag); 
        $eintrag = str_replace(":$","<img src=\"http://www.tutorials.de/forum/images/smiles/shy.gif\">", $eintrag); 
        $eintrag = str_replace(":x","<img src=\"http://www.tutorials.de/forum/images/smiles/sick.gif\">", $eintrag); 
        $eintrag = str_replace(":)","<img src=\"http://www.tutorials.de/forum/images/smiles/smile.gif\">", $eintrag); 
        $eintrag = str_replace("¬_¬","<img src=\"http://www.tutorials.de/forum/images/smiles/suspicious.gif\">", $eintrag); 
        $eintrag = str_replace("ó_ò","<img src=\"http://www.tutorials.de/forum/images/smiles/unsure.gif\">", $eintrag); 
        $eintrag = str_replace(";)","<img src=\"http://www.tutorials.de/forum/images/smiles/wink.gif\">", $eintrag); 
        return $eintrag;
    }

oder so:
PHP:
function smiles(&$eintrag)  
    {  
        $eintrag = str_replace(":o","<img src=\"http://www.tutorials.de/forum/images/smiles/amazed.gif\">", $eintrag);  
        $eintrag = str_replace("^_^","<img src=\"http://www.tutorials.de/forum/images/smiles/amuse.gif\">", $eintrag);  
        $eintrag = str_replace(":D","<img src=\"http://www.tutorials.de/forum/images/smiles/bigsmile.gif\">", $eintrag);  
        $eintrag = str_replace("o_O","<img src=\"http://www.tutorials.de/forum/images/smiles/blink.gif\">", $eintrag);  
        $eintrag = str_replace(":P","<img src=\"http://www.tutorials.de/forum/images/smiles/cheesy.gif\">", $eintrag);  
        $eintrag = str_replace(":S","<img src=\"http://www.tutorials.de/forum/images/smiles/confused.gif\">", $eintrag);  
        $eintrag = str_replace("8)","<img src=\"http://www.tutorials.de/forum/images/smiles/cool.gif\">", $eintrag);  
        $eintrag = str_replace(":'(","<img src=\"http://www.tutorials.de/forum/images/smiles/cry.gif\">", $eintrag);  
        $eintrag = str_replace(">8(","<img src=\"http://www.tutorials.de/forum/images/smiles/evil.gif\">", $eintrag);  
        $eintrag = str_replace("=D","<img src=\"http://www.tutorials.de/forum/images/smiles/laugh.gif\">", $eintrag);  
        $eintrag = str_replace(":@","<img src=\"http://www.tutorials.de/forum/images/smiles/mad.gif\">", $eintrag);  
        $eintrag = str_replace("=/","<img src=\"http://www.tutorials.de/forum/images/smiles/notrust.gif\">", $eintrag);  
        $eintrag = str_replace("v_v","<img src=\"http://www.tutorials.de/forum/images/smiles/noworry.gif\">", $eintrag);  
        $eintrag = str_replace("8D","<img src=\"http://www.tutorials.de/forum/images/smiles/nuts.gif\">", $eintrag);  
        $eintrag = str_replace("'_'","<img src=\"http://www.tutorials.de/forum/images/smiles/oh.gif\">", $eintrag);  
        $eintrag = str_replace(">_<","<img src=\"http://www.tutorials.de/forum/images/smiles/push.gif\">", $eintrag);  
        $eintrag = str_replace(":roll:","<img src=\"http://www.tutorials.de/forum/images/smiles/rolleyes.gif\">", $eintrag);  
        $eintrag = str_replace(":(","<img src=\"http://www.tutorials.de/forum/images/smiles/sad.gif\">", $eintrag);  
        $eintrag = str_replace(":$","<img src=\"http://www.tutorials.de/forum/images/smiles/shy.gif\">", $eintrag);  
        $eintrag = str_replace(":x","<img src=\"http://www.tutorials.de/forum/images/smiles/sick.gif\">", $eintrag);  
        $eintrag = str_replace(":)","<img src=\"http://www.tutorials.de/forum/images/smiles/smile.gif\">", $eintrag);  
        $eintrag = str_replace("¬_¬","<img src=\"http://www.tutorials.de/forum/images/smiles/suspicious.gif\">", $eintrag);  
        $eintrag = str_replace("ó_ò","<img src=\"http://www.tutorials.de/forum/images/smiles/unsure.gif\">", $eintrag);  
        $eintrag = str_replace(";)","<img src=\"http://www.tutorials.de/forum/images/smiles/wink.gif\">", $eintrag);
    }
 
Zuletzt bearbeitet:
Wieso nicht so?
So mache ich es bei meinen sachen!

PHP:
while($gb = mysql_fetch_array($query2))
{ 
echo smiles($gb['eintrag']); 
}
 
ich hatte das früher so
PHP:
$query2 = mysql_query("SELECT * FROM gbook_smiles");

					while($row2 = mysql_fetch_assoc($query2))
					{
						$row2['tag'] = str_replace(">","&gt;", $row2['tag']);
						$row2['tag'] = str_replace("<","&lt;", $row2['tag']);

						$gb['eintrag'] = str_replace("$row2[tag]","<img src=\"images/smiles/".$row2['smile']."\">", $gb['eintrag']);
				}
Wollte mal was anderes probieren
 
Zurück