Problem mit BBCode-Funktion
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anwenden
arbeit
array
benutzer
code
eingabe
extension
fehler
forum
funktion
http
info
installation
kontrolle
major
nutzen
text
type
umwandlung
weiss jemand
-
Ich möchte für ein Forum eine Funktion machen, die BB-Codes in HTML umwandelt. Dafür gibt es in PHP ja bereits Funktionen, die einem viel Arbeit abnimmt, doch es funktioniert bei mir nicht. Hier mal der Code:
function replaceBBCodes($forumEintrag){ $BBCodeArray = array('i' => array('type' => BBCODE_TYPE_NOARG, 'open_tag' => '<i>', 'close_tag' => '</i>'), 'b' => array('type' => BBCODE_TYPE_NOARG, 'open_tag' => '<b>', 'close_tag' => '</b>')); $BBCodeContainer = bbcode_create($BBCodeArray); $forumEintrag= bbcode_parse($BBCodeContainer, $forumEintrag); bbcode_destroy($BBCodeContainer); return $forumEintrag; }
Das Skript gibt jedoch gar nichts zurück.
Weiss jemand, wo der Fehler liegt, oder wie ich es sonst lösen könnte. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Die BBCode Functions sind eine Extension. Die sind nicht standardmässig installiert. Solange du keine Kontrolle über die PHP Installation hast kannst du die auch nicht einfach so nutzen. Dazu kommt das die BBCodeSyntax ein major security risk verursacht solange du die Eingaben der Benutzer nicht Validierst. Unter dem Link gibt s Info's dazu http://www.mediawiki.org/wiki/Extension:BBCodeSyntax
Beitrag zuletzt geändert: 23.12.2010 18:02:35 von frnkymen -
Alternativ ist eine eigene PHP-Funktion zur Umwandlung mit preg_replace schnell erstellt.
In etwa so: (quick & dirty & ungetestet )
$text = $_POST['text']; $text = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $text);
Dadurch werden z.B. einfach durch <b></b> ersetzt. Und das lässt sich ja einfach auf alle BBCodes anwenden...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage