PHP Smilies Funktion

fUnKuCh3n

Erfahrenes Mitglied
Hey Leute, ich hab folgendes Problem, in nem Script sind ca. 200 Smilies intigriert, diese wollte ich halt durch ne Funktion ersetzen lassen, welche im Anhang folgt, jedoch komme ich damit nicht so ganz klar wie ich sie gefunden habe, alle Smilies ( ":-)" ) und alle Dateinamen zu den jeweiligen Smilies stehen in der MySQL Datenbank, und sind dann halt als Array im Script gespeichert, aber wie kann ich es nun hinbekommen dass er z.b. ":-)" durch <img src="images/media/smilies/grins.gif"> ersetzt?

Stehe da ein bissi aufm Schlauch
PHP:
<?
error_reporting(E_ALL);
include("config.php");
include("connect.php");


//Smilie Ersetzen Text <-> Bild
function ersetze_smilie($text){

$result = mysql_query("SELECT * FROM `smilies`");
while ($row = mysql_fetch_assoc($result))
{

 $Muster[] = $row['smiliecode'];
 $Ersetzen[] = $row['smiliedatei'];





 foreach($Muster AS $key=>$Wert){
 $Wert = preg_replace("/(\[|\]|\(|\)|\.|\?|\*|\\\)/", "\\\\$1", $Wert);
 $Muster[$key] = "/$Wert/i";
 }

 $text = preg_replace($Muster, $Ersetzen, $text);
 return $text;
}
}
// Text
$bla = "Das ist ein :)";

// Aufruf der Funktion
echo ersetze_smilie($bla);

?>
 
Hi,
fürs Verständnis:
ersetze_smilie($bla);
$bla ist bereits der auszugebende Content in dem zb noch ":-)" enthalten ist was du durch <img src="xyz" /> ersetzen willst?
in der Spalte "smiliecode" hast du die küzel gespeichert zb":-)" und in der Spalte "smiliedatei" den Pfad zum Bild?
 
Dann sollte diese Funktion
PHP:
function ersetze_smilie($text)
{ 
	$result = mysql_query("SELECT * FROM `smilies`"); 
	while ($row = mysql_fetch_array($result)) 
	{ 
		$text = str_replace($row['smiliecode'], '<img src="'.$row['smiliedatei'].'" />', $text);
	}
	return $text;
}
eigentlich (hoffentlich) ausreichen.
 
Zurück