SOS saut de ligne en php

thegodakf Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je vous explique mon problème, j'ai un champ <textarea > et quand le visiteur tape du texte dedans et va toute les fois a la ligne avec des "-" ex:

- j'aime ton site

- il est beau ton site

et quand il envoie ça dans ma base , lors de l'affichage tu texte sur le site ça devient ceci:

- j'aime ton site - il est beau ton site

comment faire pour garder la première mise en forme

aider moi s'il vous plait je code avec php j'ai essayé <br> et "\n" ça mais sa ne marche pas.

4 réponses

tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
Pour afficher les retours à la ligne lors de l'affichage, il faut utiliser la fonction nl2br() sur la variable en question.
echo nl2br($texte);

https://www.php.net/manual/fr/function.nl2br.php
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
2
flav1313 Messages postés 751 Date d'inscription   Statut Membre Dernière intervention   100
 
Comment récupères-tu le contenu du TextArea ?

Montre nous ton code pour la page contenant le TextArea(HTML) et celui de la réception (PhP).
0
thegodakf Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Voici la partie HTML qui recupère le texte du visiteur

<form id="form3" name="form3" method="post" action="publier_offre_emploi.php">



<textarea name="piece" id="piece" cols="45" rows="5" ><?php if(isset($_POST['piece'])) echo htmlspecialchars($_POST['piece']);?></textarea>



<input type="text" name="datedepot" id="datedepot" value= <?php if(isset($_POST['datedepot'])) echo htmlspecialchars($_POST['datedepot']);?>>




<input type="text" name="lieudepot" id="lieudepot" width="45" value= <?php if(isset($_POST['lieudepot'])) echo htmlspecialchars($_POST['lieudepot']);?>>




<label for="publier"></label>
<input type="submit" name="publier" id="publier" value="Publier l'offre" />

</form>


Voici la partie qui permet d'afficher le texte du visiteur


<p>Tâche à exercer</p> <div ><?php echo $adds['tache_affaire'] ; ?> </div>


<p>Conditions à remplir</p> <div ><?php echo $adds['condition_aremplir'];?></div>

<p>Pièces à fournir</p> <div><?php echo $adds['piece_afournir'] ;?></div>


Maintenant où placer le code qui permet de faire des sauts de lignes???
0
flav1313 Messages postés 751 Date d'inscription   Statut Membre Dernière intervention   100
 
Je vois que tu ne comprends pas quelque chose.

Lors de la réception du contenu du TextArea, le contenu est au format HTML, par exemple :
-il fait beau.<br/>
-J'aime la pluie.

Lorsque tu enregistres dans ta base de données, tu fais appel à la fonction htmlspecialchars() qui supprime toutes les balises HTML donc qui supprime les balises <br/> (saut de ligne) !. C'est pour ça que dans ta base de données et lorsque tu affiches aux utilisateurs leurs messages, ça s'affiche de la façon suivante :
-il fait beau. -J'aime la pluie.

Je pense que ton souci vient de là.
0