DeSign-MasTer Posté 14 Février 2007 Posté 14 Février 2007 Bonsoir à tous, J'aimerais savoir comment je pourrais faire pour quand on écrit un texte dans un <textarea> et qu'à chaque fois qu'on saute une ligne et que la personne envoie ce qu'il à écrit, comment faire pour que dans ma bdd ça arrive avec le texte puis à chaque saut de ligne que ça ajoute un <br> pour que quand j'affiche le texte sur une autre page il y est bien les sauts de ligne que l'utilisateur a fait.. J'espère que je suis assez clair, sinon demandez moi. Merci
KnockedMaster Posté 14 Février 2007 Posté 14 Février 2007 'alut, Renseignes-toi sur la fonction nl2br Dans ton cas : echo nl2br ($enregistrement); @+
TheRec Posté 14 Février 2007 Posté 14 Février 2007 Bonsoir, L'idéal est de sauvegarder les données telles que l'utilisateur les a entrées (en faisait les vérifications d'usage pour assurer que les données sont sûres) et lorsque tu les affiches par la suite d'utiliser la fonction nl2br pour convertir les newlines en balises <br />. Un autre conseil, lorsque tu présentes un problème, prend la peine de te relire (orthographe et grammaire) et de former plusieurs phrases au lieu d'une seule de 6 lignes, c'est beaucoup plus clair et cela facilite la lecture pour les personnes susceptibles de t'aider **EDIT** Grillé pour la fonction Mon second conseil reste valable
DeSign-MasTer Posté 14 Février 2007 Auteur Posté 14 Février 2007 Très bien merci de vos conseils, et désolé de ma présentation. Mais merci encore
camillejg Posté 16 Février 2007 Posté 16 Février 2007 tu fais tout simplement un "str_replace" : str_replace("\n",'<br />','ton texte') cette fonction remplace les \n, qui représentent un retour à la ligne quand tu tape un texte dans une textarea, par des <br /> html a l'affichage.
DeSign-MasTer Posté 17 Février 2007 Auteur Posté 17 Février 2007 Oui en fait j'avais fini par y arriver Merci quand même et merci encore à vous tous de votre aide
DeSign-MasTer Posté 17 Février 2007 Auteur Posté 17 Février 2007 (modifié) Bonsoir, En fait j'ai un nouveau problème, c'est que à chaque fois que je modifis mon texte dans le <textarea> il rajoute à chaque fois des <br> en plus dans ma table ou je stock le texte Voilà mon code que j'ai : $texte = $_POST["texte"];$texte = nl2br($texte);$texte = str_replace('<br />','<br>',$texte);$texte = addslashes($texte); Si vous avez une solution je suis preneur ? Modifié 17 Février 2007 par DeSign-MasTer
TheRec Posté 17 Février 2007 Posté 17 Février 2007 Bonsoir, Comme je te l'ai dit, c'est pour cela que tu devrais enregistrer les données telles que l'utilisateur les a saisies (sans <br />, mais avec les sauts de lignes) et seulement lorsque tu vas afficher tu utilises la fonction nl2br. Ou alors tu codes une fonction br2nl toi-même et tu l’appliques avant d'envoyer les données dans le <textarea> pour l'édition : function br2nl($text){ return preg_replace('/<br\\s*?\/??>/i', '', $text);} Source : Commentaires de nl2br Mais la première solution est selon moi la meilleure, imaginons que tu fasse un moteur de recherche par la suite, les données seront parasitées par ces balises <br/> ajoutée par la fonction nl2br.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant