Vous interprétez mal ce que votre navigateur affiche. N'oubliez pas que JSON est essentiellement du texte brut, mais votre navigateur essaie de l'afficher au format HTML. \n
Les caractères ne sont PAS honorés par les affichages en mode HTML, et ils envelopperont le texte au premier caractère d'espacement approprié. JSON peut parfaitement conserver \n
caractères à l'intérieur de ses chaînes sans aucun problème.
Probablement votre <br>
l'erreur provient du <br>
l'insertion que vous faites dans votre preg_replace
appeler, car il n'y a AUCUN <br>
balises dans le JSON d'origine. En d'autres termes, vous êtes à l'origine de l'erreur même que vous essayez de corriger, en essayant de corriger l'erreur qui n'existerait pas si vous n'essayiez pas de la corriger.