Bonjour
tu as 2 problèmes distincts.
D'abord, les balise <br>, c'est toi qui les ajoute à l'affichage avec le fonction nl2br. Elle convient pour afficher du HTML, pas le text d'un TEXTAREA. Enlève cette fonction.
Ensuite les \ avant les apostrophes. Puisque tu utilises correctement mysql_escape_string pour enregistrer tes valeurs, c'est qu'il doivent réellement être dans $_POST. Et s'ils sont dans $_POST, c'est probablement que dans ta configuration tu as magic_quotes_gpc actif. Pour récupérer correctement une valeur de POST (ou GET ou COOKIE) dans tous les cas, il faut utiliser ou non un stripslashes selon la valeur de magic_quotes_gpc. Personnellement, j'utilise une fonction pour ça :
function RecupChaine($chaine) {
if (get_magic_quotes_gpc()==1) return stripslashes($chaine); // il y avait magic
return $chaine; // il n'y avait pas magic
}
Dans ma requête pour enregistrer, je mets mysql_real_escape(RecupChaine($_POST['champ']))
Note que les textes déjà entrés dans la base peuvent être corrigés en les relisant, en faisant un stripslashes puis un update