Saut de ligne php

Résolu/Fermé
coconuss - 14 févr. 2011 à 16:15
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 14 févr. 2011 à 16:54
Bonjour,

J'utilise Easy php pour ma base de données, j'entre des informations grâce à un formulaire et lorsque je les ressort sur une page (avec un "select"), il ne me ressort pas les sauts de ligne, alors que dans la base de données ils s'enregistrent bien.

Si quelqu'un a une solution

Merci beaucoup




6 réponses

termgsi Messages postés 678 Date d'inscription vendredi 5 juin 2009 Statut Membre Dernière intervention 3 novembre 2016 39
14 févr. 2011 à 16:17
Bonjour,

Pour l'affichage, saut de ligne <br>
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 févr. 2011 à 16:23
Bonjour,

Si tu affiches le code source de ta page html, tu devrais voir apparaître les sauts de ligne ; si c'est bien le cas, alors comme le dit termgsi le problème vient juste du fait qu'en HTML, un saut de ligne n'est pas le caractère \n, mais la balise <br /> (et heureusement, sinon il y aurait des sauts de ligne partout sur le net, ou alors on serait obliger d'écrire les pages sur une seule ligne !)

Xavier
0
Oui mais je n'écris pas le texte, je le récupère d'une base de données, donc je ne peux pas mettre de <br>, en fait, pour m'expliquer un peu mieux.

Une personne va entrer des news dans un formulaire (une page php), cela va les enregistrer dans une base de données.

Et elles vont apparaître dans la page d'accueil du site.

Donc c'est une récupération de données. "select * from ... blablabla"

Merci pour vos réponses
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 févr. 2011 à 16:27
Dans ce cas, avant d'afficher les données (echo), il faut les modifier en remplaçant tous les \r\n et \n par des <br />.
Tu peux utiliser la fonction str_replace() :
Au lieu de
echo $texte;
mets :
echo str_replace("\n", "<br />", str_replace("\r\n", "<br />", $texte));

(PS tu peux aussi le faier au moment de l'enregistrement : tu remplaces les sauts de ligne par des <br /> avant de mettre le texte dans la base de données)

Xavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci, ça marche !!
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
14 févr. 2011 à 16:54
Tiens en fait, cette fonction est intégrée de base à PHP :
https://www.php.net/manual/fr/function.nl2br.php

Donc tu peux rendre ton code encore plus clair comme ça :

echo nl2br($texte);

Xavier
0