BBCode Fehler

cille

Erfahrenes Mitglied
Hi ho,
mein BBCode funktioniert zwar, aber er filtert die "[ ]" dinger nicht raus und dadurch sucht er im TEXT immer ob ein "i" "b" "u" .... usw. drinn ist und wandelt es um,
dadurch ersetzt er auch kein "/" so dass ich den tag schließen kann.

Hier mal der Code:
PHP:
function bbcode($text) {
  $bbcode = array('[ b ]', '[ /b ]', '[ i ]', '[ /i ]', '[ u ]', '[ /u ]');
  $replace = array('<b>', '</b>', '<i>', '</i>', '<u>', '</u>');
  $text = preg_replace($bbcode, $replace, $text);
  return($text);
}
Und die anzeige schaut so aus:
Code:
[] Des st FETT [/]<r /> Des st normal
Richtig währe:
Code:
Dies ist FETT
Dies ist normal

Kurios oder?

Hoffe ihr kennt eine antwort auf meine frage, würde mich jedenfalls riesig freuen.

mfg, cille
 
sollte an preg_replace liegen, das diese Funktion per Regular Expressions sucht und ersetzt.

str_replace sollte dein Problem beheben, obwohl ich dir zu Replaces per Regualar Expressions raten würde. Verkleinert einfach die Fehlerrate durch den User.

BSP:
User gibt ein "[b]muahah" dann ist der Text auf deiner ganzen Seite fett :)
 
Zurück