léger prob de parsing de textarea : <br> et \n - PHP - Programmation
Marsh Posté le 01-06-2009 à 10:56:14
Déjà, tu devrais utiliser seulement nl2br et pas du tout str_replace pour çà. Et puis aussi, tu devrais appeler nl2br à l'affichage seulement. A l'enregistrement, tu te contentes d'échapper les caractères réservés à MySQL
Marsh Posté le 02-06-2009 à 22:53:29
Merci pour ta réponse,
ce n'est peut-être pas explicite dans mon premier message, mais je voulais dire "que j'utilise nl2br ou str_replace, le problème est le même". Oui bien sûr j'utilise nl2br puisque cette fonction est prévu pour cela à la base.
Si je n'utilise pas nl2br à l'enregistrement, il enregistre des \n dans ma table, ce qui me rend à la même situation que je n'aime pas beaucoup.
En gros ma question est :
comment convertir des retours à la ligne dans un textarea, *UNIQUEMENT* en <br /> dans ma base de données?
Marsh Posté le 03-06-2009 à 13:56:07
oui mais, franchement je te conseille d'utiliser nl2br à l'affichage, seulement, surtout que je ne vois vraiment pas en quoi la présence de \n est un problème
Marsh Posté le 04-10-2009 à 12:01:06
bonjour,
as-tu trouvé une solution à ton pb? Je suis confrontée aujourd'hui au mm pb et qd je met des messages dans les forums, on le répond un peu comme à toi, sans franchement donner de solution pour que les contenus de la bdd soit sur une ligne. ce contenu je le réutilise ensuite dans un fichier slk et ces sauts de lignes provoquent des erreurs dans mon fichier
Riette
Marsh Posté le 05-10-2009 à 15:55:51
Bonjour,
non je n'ai jamais trouvé de solution et me suis résolu à laisser les champs de la DB avec les retours à la ligne Si entretemps tu trouves une réponse ailleurs fais-le moi savoir !
Marsh Posté le 07-10-2009 à 16:01:31
Code : |
?
Marsh Posté le 31-05-2009 à 23:39:21
Je suis en train de finaliser un site avec une partie admin qui permet de rentrer des commentaires sur un item.
Les commentaires sont un <textarea> tout ce qu'il y a de plus traditionnel.
Pour ne pas obliger l'admin à taper des "<br />" à la main, je voudrais parser le texte entré et remplacer tous les retours à la ligne par des "<br />", donc.
J'utlise :
ou encore
pour écrire la string dans ma base de données MySQL, où le champ est de type TEXT.
Tout semble bien fonctionner excepté une chose crispante :
Au moment de l'enregistrement, j'ai l'impression que les \n sont malgré tout sauvegardés...
En effet si je rentre dans la textarea :
Texte essai
haha
hihi
Dans mon champ, j'obtiens (via PHPMyAdmin ou même un simple select en command prompt) :
Texte essai
<br />haha
<br />
<br />hihi
Là où j'aurais voulu le contenu dans une seule "ligne", puisque je remplace tous les retours lignes par des BR :
Texte essai<br />haha<br /><br />hihi
Ce n'est pas grave grave en soi mais je n'aime pas avoir ces retours à la ligne inopinés dans le champ de ma table ...
Une idée de ce que je peux faire pour les éviter ?