web-dev-qa-db-fra.com

Comment faire écho à une entrée d'une zone de texte avec des sauts de ligne?

J'utilise une zone de texte pour envoyer du texte à ma base de données.

Capture d'écran de db:

enter image description here

Lorsque je lis dans la base de données, cela supprime les sauts de ligne, comment puis-je les conserver dans $ row ['opmerkingen']?

enter image description here

21
Muiter

Lors de l'affichage du texte, utilisez nl2br() pour convertir les retours à la ligne en balises <br/>, C'est-à-dire qu'au lieu de <?php echo $row['text']; ?>, Utilisez <?php echo nl2br($row['text']); ?> .

Par défaut, les navigateurs affichent les sauts de ligne sous forme d'espaces, ils doivent donc être convertis en balises <br/>.


Pour ceux qui trouvent cela utile - pensez à utiliser white-space: pre-line, Suggéré par Emil Vikström. Je ne suis plus un webman et je ne peux pas facilement le vérifier, mais Boaz dit dans les commentaires qu'il est pris en charge par tous les navigateurs modernes. Si c'est le cas, cela devrait être préférable à l'utilisation de nl2br().

67
binaryLV

Une alternative à nl2br consiste à utiliser l'attribut CSS white-space :

white-space: pre-line;
21
Emil Vikström

Je mets comme suit mais ne fonctionne pas avec des guillemets simples.

echo $row['text'].'\n';

Mettez le guillemets doubles. Puis travaillé.

<textarea rows="10" cols="62" style="white-space: pre-line;" wrap="hard">
<?php echo $row['text']."\n"; ?>
</textarea>

Lorsque nous obtenons des données, cela vient avec \ r\n. Utilisez également le guillemets doubles là.

6
Sumith Harshan