Bonjour,
J'ai un petit problème avec le retour à la ligne dans une Textarea.
J'ai ma Textarea avec son contenu $value.
Le contenu par défaut sort d'une base de données MySQL.
Je veux pouvoir modifier le contenu de ma Textarea. Je rentre le nouveau contenu à la main et ensuite je veux mettre à jour la table. Pour cela, lorsque je clique sur un bouton 'Sauvegarder' j'appelle une fonction Javascript. Cette fonction récupère le contenu de ma TextArea et appelle ensuite une page PHP avec AJAX.
Dans cette page PHP, j'ai ma fonction qui enregistre les modifications au niveau de la base de données (donc avec l'UPDATE).
Le problème est que lorsque je fais des retours lignes dans ma Textarea (avec ENTREE), j'ai une erreur 'Constante Chaîne non terminée'. J'ai fait plusieurs alert() du contenu de la TextArea un peu partout afin de voir d'où venait le problème :
Dans ma fonction Javascript, les retours ligne sont bien retranscrits.
Mais en PHP ça ne fonctionne pas.
Après recherches sur la Toile, j'ai essayé la fonction nl2br() et la fonction str_replace() en remplaçant mes "\r\n", "\n" et "\r" par des "<br/>".
La fonction nl2br() ne fonctionnait pas, j'avais toujours cette même erreur. Pas d'ajout de sauts de ligne dans la base ...
La fonction str_replace() m'a un peu fait avancer : mes retours ligne sont bien remplacés par des "<br/>", l'UPDATE de la base fonctionne, mais quand je veux afficher à nouveau le contenu de ma Textarea, mes "<br/>" sont rentranscrits tels quels, pour un joli résultat de :
Ligne 1 <br/> Ligne 2 <br/> Ligne 3
Je suis bloqué à ce point-là. J'ai essayé de refaire un str_replace(), mais à l'envers afin de remettre "\r\n" à la place des '<br/>' mais ça ne fonctionne pas.
Si vous avez des idées ...
Merci,
Jimmy, jeune stagiaire de DUT Informatique.
Configuration: Windows XP Internet Explorer 7.0