wahsaga: BBCode / Smilies ersetzen

Beitrag lesen

hi,

Ich hab mal folgende Frage zu den Ersetzung von Smilie-Zeichen und BB-Code.
Zur Zeit arbeite ich noch mit der PHP-Funktion
str_replace(); und eine For-Schleife.
Jedoch wenn ich 50 verschiedene Arten von Zeichen habe die ich ersetzen muß... würde die Schleife für jeden Text 50 mal durschlaufen damit alles ersetzt wäre. Bei einer Ausgabe von 10 - Texten/Beiträgen, wäre das schon 500 Durchläufe, usw.

beschäftige dich mit regulären ausdrücken, um solche codes a) erkennen und b) ersetzen zu können.
benutze anschliessend die funktion preg_replace(), übergebe dieser ein array für die muster und eines für die zugehörigen ersetzungen, und du hast alles in einem, ohne zusätzliche schleifen.

Ich würde gerne die Ersetzungroutine beim Benutzer laufen lassen,
um die CPU etwas zu schonen. ;)
Jetzt meine Frage kann man das irgendwie anders bewerkstelligen, z.b. mit Javascript das die entsprechenden Zeichen im HTML-Code umwandelt, oder sind mir da die Hände gebunden.

javascript kann natürlich auch ersetzen - aber erstens ist javascript bekanntlich deaktivierbar, und zweitnes müsstest du dir dann vom client html statt einfachen text übergeben lassen - dass das ohne weitere überprüfungen sicherheitslücken aufreisst, sollte bekannt sein.

gruss,
wahsaga