Mysql
 sql >> Datenbank >  >> RDS >> Mysql

im mysql-Feld gespeichert, aber kein Zeilenumbruch bei Echo


Bei der Ausgabe in einen Textbereich müssen Sie htmlentities aufrufen htmlspecialchars wenn Ihr Text HTML enthält.

<textarea><?php echo htmlspecialchars($text); ?></textarea>

Dadurch wird Ihr &lt;br /&gt; konvertiert zu &lt;br /&gt; . Verlassen Sie den &lt;br /&gt; unkodiert werden sie einfach als HTML interpretiert.

Wenn Ihr Ziel darin besteht, &lt;br /&gt; anzuzeigen oder anderes HTML im Textbereich, wie es in der Datenbank geschrieben ist, müssen Sie allen Code maskieren, der andernfalls als HTML interpretiert würde.

bearbeiten

Wenn Sie anstelle von &lt;br /&gt; Zeilenumbrüche ausgeben möchten Sie können str_replace verwenden :

<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>

Denken Sie jedoch daran, dass alle anderen HTML-Codes interpretiert und nicht angezeigt werden. Ich denke, Sie sollten Ihr Problem an der Quelle lösen und das CRLF in der Datenbank speichern, wenn Sie das HTML nicht benötigen.