Christian Seiler: Zeilenumbrüche für MySQL Datenbank umwandeln

Beitrag lesen

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!