Hello,
um die Daten in die Datenbank zu schreiben, muss der Text passend zum DBMS und der verwendeten Schnittstelle vorbehandelt werden, damit die Umbrüche nicht das Query (zer-)stören.
Wenn Du die Daten über einen Blockbuffer (Prepared Statement) übergibst, ist dies i.d.R. nicht mehr notwendig, da das DBMS ja dann Daten und Befehle getrennt geliefert bekommt.
Wenn Du die Daten wieder ausliest, hast Du die normalen Zeilenumbrüche (also z.B. "\r\n") in den Daten stehen. Denn eigentlich gibt es ja gar keine Zeilen ;-)
Je nachdem, womit Du die Daten nun darstellst, musst Du dafür sorgen, dass das Werkzeug (Editor, Browser, ...) mit den Steuerzeichen auch etwas anfangen kann.
So würde z.B. ein Browser mit dieser Sequenz die Daten per HTML in der gewünschten Form darstellen
echo "<pre>\r\n";
echo htmlspecialchars($daten);
echo "</pre>\r\n";
weil er hier als forformatierter text gekennzeichnet wurde
oder aber, Du formatierst den Text selber per
$html = nl2br(htmlspecialchars($daten));
echo $html;
So würden erst alle HTML-schädlichen Zeichen codiert werden und dann die Steuerzeichen für Zeilenumbrüche mit HTML-gerechten <br /> ergänzt werden.
Liebe Grüße aus Syburg
Tom vom Berg