Hallo Alpha,
Wie ihr seht, übernimmt der PHP die Zeilenumbrüche nicht!
Falsch. PHP übernimmt die Zeilenumbrüche schon. Dein Browser tut es nicht. ;-)
ich habe es schon mit dem Befehl
str_replace("%0D","<br>",$news_inhalt);
und allmögliche Varianten!
Also: in PHP kannst Du Sonderzeichen entweder über chr(code) (z.B. chr(10)) _oder_ \oktcode, \xhexcode oder \buchstabe "erreichen". %0D geht nicht.
Es gibt in PHP allerdings die Funktion nl2br, die genau das macht, was Du willst, daher brauchst Du Dich nicht groß darum kümmern:
echo nl2br ($text);
Da wir aber gerade bei Zeilenumbrüchen sind:
Bei der Eingabe selbst (vor dem in die Datenbank schreiben) solltest Du noch alle Zeilenumbrüche vereinheitlichen:
$text = preg_replace ("!\015\012|\012|\015!", "\n", $text);
Das hängt damit zusammen, dass unterschiedliche Betriebsysteme evtl. unterschiedliche Zeilenumbrüche liefern und dieser Aufruf fängt das ganze _vor_ dem Einfügen in die Datenbank ab.
Viele Grüße,
Christian
Ich bin ein Bandbreitenverschwender. Meine Signatur tut mir leid. Ehrlich!