MySQL Newline in HTML anzeigen
-
19-09-2019 - |
Frage
Bestimmte Felder in unserer MySQL -DB scheinen Newline -Zeichen zu enthalten, sodass ich für einen einzelnen SQL -Anruf zurückgegeben werden kann, wenn ich sie ausgewählt habe:
Life to be sure is nothing much to lose
But young men think it is and we were young
Wenn ich die Zeilenunterbrechungen bei der Anzeige dieses Feldes auf einer Webseite bewahren möchte, ist die Standardlösung, um ein Skript zu schreiben, um ' n r' durch ein Br HTML -Tag zu ersetzen, oder gibt es einen besseren Weg?
Vielen Dank!
Lösung
Annehmen PHP hier ...
nl2br()
fügt hinzu <br />
für jeden \n
. Vergessen Sie nicht, zuerst dem Inhalt zu entkommen, um XSS -Angriffe zu verhindern. Siehe unten:
<?php echo nl2br(htmlspecialchars($content)); ?>
Andere Tipps
Html ist a Markup Sprache. Unabhängig davon, wie viele Zeilenbräuche Sie in den Quellcode einfügen, werden Sie in der Präsentation nichts daraus sehen (natürlich unter der Annahme, dass Sie nicht verwenden <pre>
oder white-space:pre
). HTML verwendet das <br>
Element zur Darstellung eines Linienausbruchs. Sie müssen also im Grunde tatsächlich die realen und unsichtbaren Linienbroks konvertieren, die von den Charakteren gekennzeichnet sind xA
(Newline, Linefeed, LF, \n
) und/oder xD
(Kutschenrückgabe, Cr, \r
) durch eine HTML <br>
Element.
In den meisten Programmiersprachen können Sie dies einfach von a tun Zeichenfolge Ersetzen von "\n"
durch "<br>"
.
Sie können es einpacken <pre>
.. </pre>
.