bloodyorchid
20-10-2008, 09:55
servus...
ich will per mail() ein formular abschicken
wenn ich es ohne nl2br() formatiere ignoriert er jeglichen umbruch
wenn ich es mit nl2br() hab ich natürlich lauter <br />'s in meiner email.
gibt es noch eine andere möglichkeit die absätze zu formatieren ohne nl2br()? ich weiss das "/n" funktioniert aber keine ahnung wie ich das in nem string zusammensetz und formatieren soll...
bloodyorchid
20-10-2008, 10:06
habs mal damit versucht
$mail=$_POST['text'];
$mailformat=nl2br($mail);
$mailtext=str_replace("<br>", "\n", $mailformat);
aber keine ahnung obs zufall war das es funktioniert hat ^^
Lustiger Vorschlag.
nl2br ersetzt alle \n durch <br> und du ersetzt dann wieder alle <br> durch \n
bloodyorchid
20-10-2008, 10:58
hmm wieso das denn.. wenn ich doch von nem textfeld was übergebe dann ist das doch laut meines wissen unformatiert ohne jeglichen \n's
Original geschrieben von bloodyorchid
hmm wieso das denn.. wenn ich doch von nem textfeld was übergebe dann ist das doch laut meines wissen unformatiert ohne jeglichen \n's
Ja: Ich finde es auch lustig.. ;)
Was macht denn wohl nl2br()
Übrigens das nl steht für das, was du als \n bezeichnest :D
onemorenerd
20-10-2008, 11:08
@bloodyorchid: Nach deiner Annahme - keine Newlines vorhanden - würde nl2br() ja überhaupt nichts machen. Dein str_replace() würde demnach nur <br> finden, die schon vor nl2br() drin waren. Woher sollen die kommen? Tippst du die <br> ins Formular oder was?
nl2br() ersetzt nichts, es fügt ein. Aus \n wird <br>\n.
Die obige Kombination aus nl2br() und str_replace() verdoppelt alle vorhandenen \n und konvertiert alle vorhandenen <br> zu \n.
bloodyorchid
20-10-2008, 11:21
geml ja ich weiss das nl new line heisst und 2br to break,...
das prob ist allerdings das es vorher iwie nich funktioniert hat...
kA warum aber wenn die mail ankam war alles unformatiert als ein text am stück...
sinn!? :confused:
$text = '
Willkommen bei Goobu.de
Bitte klicke den folgenden Link um deinen Account bei Goobu.de zu aktivieren.
http://www.goobu.de/aktiv.php?user=' . $benutzername . '&key=' . $aktivcode[0] . '
Sollte der Link in deinem eMail-Programm nicht richtig angezeigt werden besuche bitte:
http://www.goobu.de/aktiv.php
und tragen folgende Daten ein:
Benutzername: ' . $benutzername . '
Aktivierungskey: ' . $aktivcode[0] . ' ';
Ich Tippe den text bei mir einfach so ein wie ich ihn haben möchte und es funktioniert also anstatt <br> oder /n drück ich einfach "enter" wenn es um eMails geht ...