• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

html trotz htmlentities?!

Status
Für weitere Antworten geschlossen.

wolf360

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

so: wenn man :) 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('<img src=../bilder/smilies/xd.gif>');
  $neuertext = str_replace($eingabe,$ausgabe, $_POST['text']);
   
  echo $neuertext;

?>

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('<img src="../bilder/smilies/xd.gif" />'); 
  $neuertext = str_replace($eingabe,$ausgabe,$text); 
    
  echo $neuertext; 
 
?>
Problem?
 
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.
 
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],"<img alt='' src='img/smileys/".$gif[$s]."' />",$text);
        }
Wollte das nur mal so beitragen

mfG
Voodoo
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben