Retour à la ligne TEXT - (PHP MySQL)

Résolu
Bonjour,

Je souhaite de l'aide svp !
Voilà ce qui me permet d'envoyer mon texte à ma table :
if(isset($_POST['Description']))  $Description =  mysql_real_escape_string(htmlspecialchars($_POST["Description"]));  else $Description="";
Seulement, le texte ne va pas à la ligne.
C'est à dire
Bonjour,
Vous allez bien ?
me renvois
Bonjour,Vous allez bien ?
Le format de mon champ dans la table est de type TEXT.

Et voilà comment j'affiche mon texte :
<?php echo utf8_encode($data['Description']); ?>

Merci de votre aide !

3 réponses

  1. C'est bon ^^ voilà le résultat :
    <?php echo nl2br(utf8_encode($data['Description'])); ?>
    C'était le
    nl2br()
    qui me manquais !

    Merci encore ^^
    1
    1. Contributeur
      cool, je ne connaissais pas nl2br :-)

      Dal
      0
  2. Merci Dal,

    Oui effectivement cela fonctionne, mais me met le texte en Courier New.
    Y a t-il un moyen de remédier à cela ?
    0
    1. Ah non, si la phrase est longue il la coupe pas, il me fait une seule ligne qui dépasse la page même et donc me gâche le design... :s
      0
    2. Contributeur
      la balise html
      <pre>
      affiche le texte en préservant le format : https://www.w3schools.com/tags/tag_pre.asp. C'est pourquoi c'est normalement rendu en police à espacement fixe de type Courier.

      C'était juste un moyen de vérifier que ta base de données contient bien les retours à la ligne.

      En dehors de l'usage de
      <pre>
      html ignore les retours à la ligne, et c'est normal : pour faire des retours à la ligne tu dois, en html, utiliser des balises
      <br>
      ou
      <p>
      pour créer un nouveau paragraphe. C'est du html de base.

      Pour afficher des retours à la ligne, tu pourrais passer ta variable sur une regex avec preg_replace qui remplace les retours à la ligne par des
      <br />
      , par exemple.

      Dal
      0
  3. Contributeur
    Salut Sinistrus,

    et si tu fais :

    <?php echo "<pre>" . utf8_encode($data['Description']) . "</pre>"; ?>


    Dal
    0