Moin!
Mein Problem ist, ich möchte den text, den ein User eingibt in einer DB speichern und auf einer anderen Seite ausgeben.
Wenn der user nun ein Zeilenumbruch eingibt wird dieser später nur im Quelltext, nicht aber auf der Seite angezeigt.
Dann mußt du, wenn du den Text als HTML ausgibst, alle Zeilenumbrüche durch <br> ersetzen (bzw. dort ein <br> extra reinschreiben). In PHP gibts dafür eine Funktion: nl2br(), die macht genau das.
Da der Text aber bearbeitet werden soll, ist es ratsam, diese Wandlung wirklich erst direkt bei der Ausgabe der HTML-Daten zu machen, und ansonsten in Textareas und Datenbanken nur die Version ohne <br> zu speichern. Damit sparst du dir wahnsinnig viel Ärger beim Editieren.
Ach ja, in diesem Zusammenhang: Wenn du den Text editieren läßt, mußt du vor dem Einfügen in die Textarea HTML-eigene Zeichen wie <, > und & maskieren (zu < > und &)! In PHP gibts dafür den Befehl htmlentities(), der das erledigt. Wenn du das nämlich nicht machst, kannst du heftigste Probleme kriegen, weil der Browser so richtig querschießen kann. Sollte z.B. im eingegebenen Text die Zeichenfolge "</textarea>" vorkommen, wäre der nachfolgende Text nämlich nicht mehr editierbar. :)
PS: Wenn du Perl benutzt, kannst du diese Dinge mit ein paar regulären Ausdrücken erledigen. Vielleicht gibts auch ein Modul dafür.
- Sven Rautenberg