Reguläre Ausdrücke und stripslashes

Wenn ich den Text und den Code mit htmlentities sichtbar mache kommt das raus:

Text aus der Datenbank:
PHP:
 <?php $text = preg_replace("/\\[b\\](.*)\\[\\/b\\]/s","<b>\\1</b>",$text); ?>
Code aus der Datenbank ($code des Scripts): <?php $text = preg_replace(\"/\\[b\\](.*)\\[\\/b\\]/s\",\"<b>\\1</b>\",$text); ?>

Es scheint also mit der preg_replace Funktion Probleme zu geben. Sie fügt die Slashes vor Anführungsstriche ein und belässt die anderen.
Ich hab mal die Modifikatoren überprüft. Es scheint dass der Modifikator s Probleme macht. Eigentlich sollte er ja die Zeilenumbrüche mit in das Suchmuster nehmen.
Wenn ich versuche stattdessen den Modifikator m zu verwenden wird mir zwar der Code formatiert aber seltsamerweise wird der BBCode nicht entfernt. Den BB-Code einfach mit str_replace entfernen geht nicht weil ich immer mit einbeziehen muss dass evt. im Code mal ein BBCode drinnen sein wird. Aus der PHP Dokumentation werd ich irgendwie über den Modifikator m nicht schlauer. Hab ich was beim Suchmuster vergessen dass der BBCode nicht entfernt wird?

greez Daniel
 
Zurück