SOS saut de ligne en php
thegodakf
Messages postés
42
Statut
Membre
-
tryan44 Messages postés 1289 Date d'inscription Statut Membre Dernière intervention -
tryan44 Messages postés 1289 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.
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
-
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! -
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). -
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??? -
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à.