Page 1 sur 1

comment faire un retour a la ligne de façon automatique

Posté : 18 mars 2021, 22:14
par flexi2202
bonjour a tous

j ai un formulaire que mes membres peuvent remplir
et ensuite j affiche leurs commentaire dans un tableau comme sur cette capture d écran
pas avec de telle couleurs bien évidement
ce qui m intéresse c est qu un retour automatique a a ligne puisse s effectuer
pour en faire des paragraphe
et pas des lignes a ne plus en finir
j ai donc utiliser ce code pour l effectuer
mais cela me mets des espaces blanc entre le pseudo et le message
j ai utiliser ce code

Code : Tout sélectionner

white-space: pre-wrap
j aurais donc aimer savoir si cela était possible d éviter ces blancs et d utiliser une autre méthode

merci de l aide

Code : Tout sélectionner

<div class="container"> <?php foreach($id16000760_phil as $donnees){?> <div class="row"> <div class="col-sm-auto"style="background: yellow;"> <p class="card-text"> <?= $donnees['pseudo'] ?> </p> </div> <div class="col"> <p class="card-text"style="background: green;white-space: pre-wrap;border: solid;"> <?= $donnees['message'] ?> </p> </div> </div> <?php } ?> </div>
voici ce que cela donne pour l instant
https://zupimages.net/up/21/11/d3o1.jpg

Re: comment faire un retour a la ligne de façon automatique

Posté : 19 mars 2021, 01:00
par two3d
Je te conseil de faire des tests sans bootstrap, quand on apprend ça évite qu'il vienne interférer avec ton travail, ensuite tu peux mettre ton code dans bootstrap et voir si il le style pas (d'où ton problème pourrait venir).

Regarde également dans le code source de ton navigateur si tu n'a pas de balises HTML en rouge, met la souris sur la balise pour voir le problème ;)

Attention à ton code HTML, les attributs se collent entre eux: ...<p class="card-text"style="background: ...

Re: comment faire un retour a la ligne de façon automatique

Posté : 19 mars 2021, 05:13
par flexi2202
merci pour la reponse

mon code est bien entendu entoure de boostrap 4.6
lorsque je retire cet attribut

Code : Tout sélectionner

white-space: pre-wrap
tout fonctionne correctement sauf que je n ai plus le fameux retour a la ligne automatique

Re: comment faire un retour a la ligne de façon automatique

Posté : 22 mars 2021, 16:29
par Ryle
Salutations !

Pourquoi ne pas utiliser la fonction nl2br() pour faire apparaitre les retours à la lignes de tes messages ?

En fait, un navigateur n'interprète pas les retours à la lignes dans une chaine de caractères. Quand il les affiche à l'écran, il les considères comme des espaces ce qui fait donc des lignes à n'en plus finir. En html, le retour à la ligne doit être exprimé avec la balise <br>. La fonction php nl2br() permet d'insérer cette balise à chaque fois que ta variable contient un retour à la ligne, de façon à ce que le navigateur l'interprète correctement et reflète les retour insérer dans le message d'origine, ce qui devrait les rendre plus lisible.

Après, il reste aussi possible de gérer l'affichage avec du CSS en définissant la largeur du bloc dans lequel est le commentaire, la gestion des espaces, etc. en fonction de ce que tu veux faire si cette solution ne te convient pas :)

Re: comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 11:00
par flexi2202
Ryle bonjour et salutations
merci pour ta réponse
le formulaire est remplit par les utilisateurs ...
je viens d essayer d insérer cette fonction nl2br() dans le code

Code : Tout sélectionner

<?= $donnees['message'] ?>
je dois l insérer a quel endroit

Re: comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 11:50
par two3d

Re: comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 12:04
par flexi2202
merci pour l lien

donc d après l exemple

Code : Tout sélectionner

<?php $string = "Ceci\r\nest\n\rune\nchaîne\r"; echo nl2br($string); ?>
mais il est impossible que j ajoute ces "\"
puisque le formulaire est complété par les utilisateurs

Re: comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 13:40
par two3d
Lis bien la doc, jamais il te demande d’insérer des retours chariot, il le fait de lui même.

Re: comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 13:43
par flexi2202
cela a été résolu
en fait c est cette div qui mettait le foutoir

Code : Tout sélectionner

<div class="col">
merci pour l aide

Re: [RESOLU] comment faire un retour a la ligne de façon automatique

Posté : 23 mars 2021, 14:33
par two3d
Bootstrap :-*

Bonne continuation! :D