Smilies in PHP
Ich habe vor einiger Zeit mal eine Smilie-Replace-Funktion in PHP geschrieben, die ich euch nicht vorenthalten möchte 😉
Hier ist sie!
function smilies($text)
{
$codes = array(
":-D",
":D",
":-)",
":)",
";-)",
";)",
"*mies*",
"*super*",
"*musik*",
"*saufen*",
"*kotz*",
"*schnarch*",
"*teufel*",
"*shocked*",
"*gruss*",
"*thx*",
"*hdl*",
"*brav*",
"*prost*",
"*heul*",
":\'-(",
":-P",
":P",
"*boxer*");
$replace_with = array(
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
",
"
");
$text = str_replace($codes, $replace_with, $text);
return $text;
}
Parameter
Die Funktion erwartet nur einen Parameter ($text), welcher den String enthält, in dem sie die Smilies einfügen soll.
Anwendung
echo smilies(":-D ist ein Lach-Smiley");
Und das „:-D“ wird zum entsprechenden image-tag.
Hinweis
Man sollte diese Funktion nicht vor dem Speichern von Strings in einer Datenbank anwenden, da es dann später zu Problemen kommen kann, wenn man dem Benutzer ermöglichen will, Beitröäge zu bearbeiten.
Stattdessen sollte man sie immer vor Ausgaben anwenden!
[…] Smilies in PHP (46) […]
Hätte ich nur mal den Artikel genauer gelesen 🙂 „Man sollte diese Funktion nicht vor dem Speichern von Strings in einer MySQL Datenbank anwenden […]“ Im Nachhinein ist man eben immer schlauer. Vielen Dank für den Artikel! Die Smileybilder existieren übrigens leider nicht mehr, bei mir wird nur ein rotes X angezeigt. Aber super Funktion!
Hi,
das mit den Smilies in diesem Artikel ist ein bisschen blöd gelaufen. Ich weiß nicht, was da los ist. Die URLs zu den Bildern sind irgendwie verschwunden. Wahrscheinlich ist da irgendwann bei einem Update von irgendwelchen Plugins was schief gelaufen.
Jetzt ist es natürlich ein bisschen kompliziert, das ganze wieder zu reparieren. Deshalb vertraue ich darauf, dass die Leser dieses Artikels verstehen, was gemeint ist 🙂 So wie Du!
MfG
Simon