html_entity_decode mit preg_replace verwenden
Von: , Frage gestellt am Sa, 31. Jan 2009
Hallo!
Ich versuche für einen Blog so eine Art BB-Code zu entwickeln, wo es aber auch durch [html]htmlcode[/html] erfahreneren Nutzern möglich sein soll, html zu verwenden. Dafür habe ich jetzt folgende Zeilen programmiert:
$string = htmlentities($string);
/*
sonstige
BB-Code-Ersetungen
*/
$string = preg_replace("#\[html\](.*)\[/html\]#i", html_entity_decode("$1"), $string);
echo $string;Mit der letzten Zeile soll nun der erste Schritt für [html]-Bereiche wieder rückgängig gemacht werden. $1 steht deshalb in " ", da sonst ein Fehlermeldung aufgrund der Variablenbenennung erscheint.
Ausgegeben wird an dieser Stelle der String, der von htmlentities kommt, allerdings ohne die html-BB-Tags.
Woran liegt das? Wie kann man dieses Problem umgehen? Ich danke Euch schon einmal für Eure Antworten! Viele Grüße JojO
