Problem mit preg_replace Funktion

Shout

Mitglied
Hi zusammen....

Ich hab ein kleines Problem mit der "preg_replace" funktion in PHP. Und zwar möchte ich dass bestimmte Textteile meiner Gästebucheinträge durch die jeweilige Smilie-Grafik ersetzt werden. Mein Code schaut bis hierhin folgendermasssen aus:

Code:
$newText = preg_replace("/:(...):/",<img src='../images/smilies/$1.gif'>,$text);

dies funktioniert wunderbar. aber was mach ich wenn ich die Smilie URL nicht hart in die Funktion schreiben möchte, sondern diese aus der DB auslesen möchte Ich dachte da an folgenden Funktionsaufruf:

Code:
$newText = preg_replace("/:(...):/",getSmilieURL("$1"),$text);

Nur hab ich jetzt folgendes Problem. Anstatt dass der Wert der Variable $1 an die Funktion getSmilieURL übergeben wird, wird immer "$1" übergeben wieso das? In meinem ersten Beispiel wird mir ja auch der Wert zurückgeliefert und nicht die Variablenbezeichnung

kann mir da jemand weiterhelfen? oder hat jemand einen Vorschlag wie ich dieses Problem anderweitig lösen könnte?

Gruss
Thomas
 
funktioniert auch nicht. Es erscheint folgende Fehlermeldung:

Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in c:\apache\htdocs\test\sites\guestbook.php on line 53
 
also ich habe das anderst in einer funktion gelöst...


PHP:
function smilies($text) {

	$smilies=array();

	$sql=mysql_query("SELECT * FROM smilies");
	while($cfg=	mysql_fetch_array($sql)){
		$smilies[$cfg[short]]="<img src=\"f_img/smilies/$cfg[pic]\" alt=\"$cfg[name]\"> ";
	}
	$text = strtr($text, $smilies);

	return $text;
}

in der db steht dann sowas wie:

name: smiliename
short: :--) <-- ein strich weniger meinet wegen...
pic: smili pic


ich habe in der funktion noch bischen mehr für textformation und habe dir hier nur das mit den smilies rausgeprokelt.

viel glück mit dieser möglichkeit.
 
Zuletzt bearbeitet:
Zurück