Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Doppelter Zeilenumbruch bei Formular
#1
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 ?
Zitieren
#2
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.
Mit freundlichen Grüßen / Best Regards

Markus Clemenz
ok-webhosting
Krähwinkelweg 23
71229 Leonberg

Telefon +49 (0)7152 401 82 52
Telefax +49 (0)7152 401 82 53
Email: Kontakt@ok-webhosting.de
Zitieren
#3
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....
[Bild: add_button.gif]
Zitieren
#4
Entsprechendes Verhalten ist wie oben ausgeführt betriebssystemspezifisch!
Mit freundlichen Grüßen / Best Regards

Markus Clemenz
ok-webhosting
Krähwinkelweg 23
71229 Leonberg

Telefon +49 (0)7152 401 82 52
Telefax +49 (0)7152 401 82 53
Email: Kontakt@ok-webhosting.de
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste