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

Mammouth du PHP | 506 Messages

18 mars 2021, 22:14

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

Avatar du membre
Mammouth du PHP | 1564 Messages

19 mars 2021, 01:00

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: ...

Mammouth du PHP | 506 Messages

19 mars 2021, 05:13

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 mars 2021, 16:29

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 506 Messages

23 mars 2021, 11:00

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

Avatar du membre
Mammouth du PHP | 1564 Messages

23 mars 2021, 11:50


Mammouth du PHP | 506 Messages

23 mars 2021, 12:04

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

Avatar du membre
Mammouth du PHP | 1564 Messages

23 mars 2021, 13:40

Lis bien la doc, jamais il te demande d’insérer des retours chariot, il le fait de lui même.

Mammouth du PHP | 506 Messages

23 mars 2021, 13:43

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

Avatar du membre
Mammouth du PHP | 1564 Messages

23 mars 2021, 14:33

Bootstrap :-*

Bonne continuation! :D