ok-webhosting Forum
Doppelter Zeilenumbruch bei Formular - Druckversion

+- ok-webhosting Forum (https://forum.ok-webhosting.de)
+-- Forum: Technik-Foren (https://forum.ok-webhosting.de/forumdisplay.php?fid=4)
+--- Forum: Scripte (https://forum.ok-webhosting.de/forumdisplay.php?fid=16)
+--- Thema: Doppelter Zeilenumbruch bei Formular (/showthread.php?tid=236)



Doppelter Zeilenumbruch bei Formular - michaelmmunoz - 05.05.2007

Hallo auch...

Ich verwende zahlreiche Formulare mit Textareas. Der Inhalt dieser Textareas wird in der MySQL Datenbank gespeichert. In vielen Fällen gibt es dort auch einen Zeilenumbruch. Wird der Inhalt nun per mail() Funktion von PHP verschickt, so kommt es zu einem doppelten Zeilenumbruch.

Diesen Effekt habe ich bei meinem lokalen Server nicht, dort wird der Inhalt der Textarea so verschickt, wie er eingegeben wurde. Bei selbstgeschriebenen Scripten ist das nicht das Problem, lästig ist es allerdings bei fertigen Scripten wie phpBB2, dort wird in meinem Fall der über das Admincenter eingestellte Footer ziemlich verunstaltet. In selbstgeschriebenen Scripten habe ich erstmal folgendes erfolgreich probiert um dem Problem Herr zu werden:

$text = str_replace("\r","",$text);

Das entfernt das \r Zeichen, da es aber noch ein \n gibt, habe ich wie gehofft nur einen normalen Zeilenumbruch.

Kann man das an der php.ini einstellen oder an anderen Servereinstellungen ?


- ok-webhosting - 05.05.2007

Sehr geehrter Kunde,

laut PHP-Manual als auch gemäß RFC 2822 ist vorgegeben, als Zeilenumbruch \r\n zu benutzen, was jedoch unter Unix-Systemen zu den o.g. Problemen führt.

Windows verwendet für den Zeilenumbruch 2 Zeichen (CR+LF), Unix und Mac hingegen nur ein Zeichen.
Auf unseren Serversystemen werden daher beide Zeichen
als Zeilenumbruch gewertet. Hier sollte in der Tat zum Beispiel mittels ereg_replace() "\n\r" und "\r" als "\n" definiert werden.

Sofern \n genutzt wird, sollte es zum gewünschten einfachen Zeilenumbruch kommen.

Alternativ empfehle ich Ihnen speziell im Fall des phpBB2, entsprechenden Versand via smtp zu bewerkstelligen.


- michaelmmunoz - 05.05.2007

Ok, ich werd das mal probieren. Ich würde dieses Verhalten gerne bei mir auf der lokalen Testumgebung ebenfalls einstellen. Installiert ist zum einen XAMPP für Windows, bzw. das Pendant für Linux (www.apachefriends.de).

Wo muss ich diese Einstellung vornehmen ? Ich habe nichts dergleichen in der php.ini bisher entdeckt....


- ok-webhosting - 05.05.2007

Entsprechendes Verhalten ist wie oben ausgeführt betriebssystemspezifisch!