Une petite info qui peut se révéler utile (parce que perso j’ai mis une heure à trouver d’ou venait le problème !).
Lorsque l’on utilise preg_replace avec un modificateur d’évaluation #e , comme par exemple :
preg_replace('#\[liste\]([^\[]*?)\[\liste\]#e','$this->parseList(\'$1\')',$chaine);
Et bien la fonction rajoute des slashes sur les doubles quote comme pourrait le faire addslashes. Je n’ai pas trouver de réelle solution si ce n’est un gros :
str_replace('\"','"',$chaine);