PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Php Formmailer


Mutated!
12.03.2005, 19:03:39
Hallo!
Ich habe ein Formmailer mit einem Nachrichtenfeld, jedoch werden in diesem Feld keine Zeilenumbrüche gemacht, wenn man was eingibt und enter drückt. in der E-Mail steht dann alles in einer Zeile. Das Feld heißt $nachricht. Kann mir jemand weiter helfen?

xabbuh
12.03.2005, 19:17:39
Versendest du die Nachricht als HTML-Mail? Dann solltest du dir die Funktion nl2br() anschauen.

Mutated!
12.03.2005, 19:29:51
Ja. Es ist eine HTML-Mail. Ich habe folgendes eingefügt, klappt jedoch nicht: $nachricht = str_replace("
", "<br>", $nachricht);
$nachricht = str_replace("
", "<br>", $nachricht);

xabbuh
12.03.2005, 19:31:39
Warum verwendest du nicht einfach nl2br()?

Nachtrag: Wenn du unbedingt str_replace() verwenden willst, müsste es so aussehen:

<?php
$nachricht = str_replace(array("n", "r"), '<br />', $nachricht);
?>

Mutated!
13.03.2005, 14:59:00
In dieser Funktion stand, dass man auch str_replace() verwenden kann. Außerdem kannte ich diesen Code schon. Jetzt klappt alles. Vielen Dank für deine Hilfe! Du bist echt spitze!

xabbuh
13.03.2005, 15:03:06
In dieser Funktion stand, dass man auch str_replace() verwenden kann.
Wo hast du das denn gelesen? Das ist zwar grundsätzlich richtig, aber einfacher ist es definitiv mit nl2br(). In deinem Code war einfach nur das Problem, dass du zwei Backslahes vor n und r gesetzt hattest, was bedeutet, das der Backslash escaped war und somit nicht zu einem Zeilenumbruch gewandelt wird, den du ja ersetzen wolltest.

Mein Code war übrigens nicht ganz richtig. Richtig wäre es so:

<?php
$nachricht = str_replace(array("rn", "r", "n"), '', $nachricht);
?>

|Coding
13.03.2005, 15:30:38
In deinem Code war einfach nur das Problem, dass du zwei Backslahes vor n und r gesetzt hattest.
...was bedeutet, das der backslash escaped war und somit nicht zu einem zeilenumbruch gewandelt wird, den du ja ersetzen wolltest.

xabbuh
13.03.2005, 15:36:40
...was bedeutet, das der backslash escaped war und somit nicht zu einem zeilenumbruch gewandelt wird, den du ja ersetzen wolltest.
Wie ich es oben geschrieben hatte :-)

|Coding
13.03.2005, 16:02:29
jetzt hättest du mich, aber nur fast :)

xabbuh
13.03.2005, 16:49:23
jetzt hättest du mich, aber nur fast :)
Kommt dir das irgendwie bekannt vor? :-)

Mutated!
14.03.2005, 16:14:51
Danke!