Question

Certains champs dans notre base de données mysql semblent contenir des caractères de nouvelle ligne de sorte que si je sélectionne sur eux quelque chose comme cela devrait être retourné pour un seul appel SQL:

Life to be sure is nothing much to lose

But young men think it is and we were young

Si je veux conserver les sauts de ligne lors de l'affichage de ce champ sur une page Web, est la solution standard pour écrire un script pour remplacer « \ n \ r » avec une balise HTML br ou est-il une meilleure façon?

Merci!

Était-ce utile?

La solution

En supposant PHP ici ...

nl2br() ajoute à <br /> pour chaque \n. Ne pas oublier d'échapper au contenu d'abord, pour prévenir les attaques XSS. Voir ci-dessous:

<?php echo nl2br(htmlspecialchars($content)); ?>

Autres conseils

HTML est un balises langue. Peu importe combien de linebreaks vous mettez dans le code source, vous ne verrez rien de revenir dans la présentation (bien sûr en supposant que vous n'utilisez pas <pre> ou white-space:pre). HTML utilise l'élément <br> pour représenter un saut de ligne. Vous devez donc essentiellement en effet de convertir les sauts de ligne réels et invisibles représentés par les personnages xA (saut de ligne, saut de ligne, LF, \n) et / ou de xD (retour chariot, CR, \r) par un élément de <br> HTML.

Dans la plupart des langages de programmation, vous pouvez simplement le faire par une chaîne remplacer de "\n" par "<br>".

Vous pouvez envelopper dans <pre> .. </pre>.

scroll top