Moin!
Es leuchtet alles ein was du sagst, und ich habe mittlerweile auch das Gefühl es gibt nichts, auf das Du keine Antwort weißt. Respekt!
Sind nur Erfahrungswerte und Erinnerungen, was andere hier im Forum alles schon geschrieben haben. Lesen bildet eben. :)
Wenn ich dein Beispiel bei mir eingebe, funktioniert auch alles wie es sollte, aber:
bei mir ist folgender Sachverhalt gegeben:
$string1 = $array_aus_datenbank_abfrage["name"];
und ein
echo nl2br($string1);
ergibt:
"Text\nMehrText" und nicht:
"Text
Mehr Text"
Hast du da noch eine Idee, woran das liegt?
Ja, "natürlich". ;)
In der Datenbank sind die Zeichen '' und 'n' gespeichert. Das muß beim Reinschreiben passiert sein. Normalerweise ist "\n" nämlich das Zeichen für "Newline", also den Zeilenumbruch.
Du stehst jetzt vor dem Problem, daß die zwei Zeichen '' und 'n' mit nl2br nicht umgesetzt werden. Ist ja klar: Das Newline-Zeichen steht nirgends, also kommt kein "<br>" dazu.
Ich kann da nur sagen: Überarbeite die Daten deiner Datenbank. Ersetze alle ''+'n' durch ein "\n", und es sollte eigentlich funktionieren. Sei gewarnt, daß "\n" in Strings nur funktioniert, wenn du doppelte Anführungszeichen nimmst. Mit einfachen Anführungszeichen klappt es nicht.
- Sven Rautenberg