Hallo,
zum Abspeichern in der MySQL-Tabelle musst Du erstmal die passende Maskierung verwendet haben. Wenn PHP selbstständig Backslashes eingefügt hat (siehe get_magic_quotes_gpc() ), dann musst Du die erstmal wieder entfernen. Und vor der Übergabe des Textes an das SQL-Statement muss dieser mittels mysql_real_escape_string() maskiert werden.
Nur so werden die Zeilenschaltungen vernünftig abgespeichert.
Wenn Du sie dann wieder herausholst, sind die Maskierungen wieder verschwunden, da sie nur für die Schnittstelle gelten, und von dieser automatisch beim Einfügen der Daten entfernt wurden.
Um den Text dann auszugeben, musst Du ihn entsprechend des Kontextes aufbereiten. In einer Textarea also mit
htmlentities($text,ENT_QUOTES)
und für die Darstellung im normalen HTML-Kontext
nl2br(htmlentities($text,ENT_QUOTES))
So müsste es dann klappen.
Einrückungen mittels Leerzeichen, die bei der Eingabe in der textarea eingegeben wurden, sind nun noch verschwunden. Wenn es darauf ankommt, diktengleichen Text auszugeben, benutzt Du anstelle des nl2br() lieber ein
echo "<pre>\n";
echo htmlentities($text,ENT_QUOTES)."\n";
echo "</pre>\n";
Das sollte als Anregung erstmal genügen.
LG
Chris