html trotz htmlentities?!

hey, ich will für meine Shoutbox/Gästebuch smilies wie hier im forum auch:

so: wenn man :slight_smile: eingibt soll halt ein lachener smilie kommn?!

aber gegn irgendwelche spammer wollt ich html mit htmlentities deaktivieren… somit lege ich mich aber selbst lam, da ich mir des mit den smilies do gedacht hatte:

[PHP]

<?php $eingabe = array ("XD"); $ausgabe = array(''); $neuertext = str_replace($eingabe,$ausgabe, $_POST['text']); echo $neuertext; ?>

[/PHP]

htmlentities davor setze, wird ja nur noch der img tag angezeigt?! Wie mach ich des dann mit den smilies?

danke schon mal für die hilfe!

gruß wolf360

hallo!

ich verstehe dein problem nicht…

Wenn du bei der Eingabe den Inhalt erst per htmlentities html-konform machst und danach xD durch den bild-code ersetzt, müsste es doch klappen…?!

[php]

<?php $text = $_POST['text']; $text = htmlentities($text,ENT_QUOTES); $eingabe = array ("XD"); $ausgabe = array(''); $neuertext = str_replace($eingabe,$ausgabe,$text); echo $neuertext; ?> [/php]

Problem?

okey hat etz geklappt danke für die hilfe!! aber worüf is das gut: ENT_QUOTES ??

[CODE]Tabelle 274. Verfügbare quote_style Konstanten
Konstante Beschreibung
ENT_COMPAT Konvertiert nur doppelte Anführungszeichen und lässt einfache Anführungszeichen unverändert.
ENT_QUOTES Konvertiert sowohl doppelte als auch einfache Anführungszeichen.
ENT_NOQUOTES Lässt doppelte und einfache Anführungszeichen unverändert.

Die Unterstützung für den optionalen Parameter quote wurde in PHP 4.0.3. eingeführt. [/CODE]

Ich habe mich letztlich auch mit dem Smiley-Problem beschäftigt.
Allerdings fande ich diese str_replace-Lösung zu umständlich (jedesmal img-tag eingeben usw.)
Ich habe da eine andere Lösung gefunden:
[php]$smileys = array(
0 => „:)“,
1 => „:(“,

13=> „:sing:“);

$gif = array(
0 => „smile.gif“,
1 => „frown.gif“,

13=> „whistle.gif“);
//Irgendwann anders dann:

for($s=0; $s<=count($smileys); $s++) {
$text = str_replace($smileys[$s],„“,$text);
}
[/php]Wollte das nur mal so beitragen

mfG
Voodoo

danke für deine variante^^