Moin nochmal!
Das hört sich gut an. Zu gut. Darf ich mal fragen wie Ihr Eure Datenbankinhalte ausgebt? Ich hatte das ja schon ausprobiert, nur bei mir gibt er \n und <br> immer mit als String aus. Wie kann ich das verhindern?
echo "<tr><td>".$zeile["$name"]."</td>/tr>";
echo '<tr><td>'.$zeile["$name"].'</td>/tr>';
echo $zeile["$name"];
liefern alle dasselbe Ergebnis - wie sollte es auch anders sein.
Welche Info fehlt mir da? Hat bestimmt was mit den Anführungszeichen zu tun, nicht wahr?
Gegeben sei:
$string="Text\nMehr Text\nLetzter Text";
Wenn du einfach
echo $string;
befiehlst, dann kriegst du die "\n" im Sourecode der HTML-Seite eingebaut, aber eben nicht zu sehen: Zeilenumbrüche werden vom Browser bei der Darstellung ignoriert, es sei denn, sie sind innerhalb von <pre> oder <textarea>.
Deshalb:
echo nl2br($string);
Die Funktion nl2br() (newline to br) setzt "\n" in "<br>\n" um. Und damit klappts dann überall in HTML - nur innerhalb von <pre> und <textarea> sollte man damit vorsichtig sein, es hat dann eher unerwünschte Effekte.
Aus eben diesem Grund (<textarea>) sollte man "\n" so direkt in die Datenbank packen und erst bei der Ausgabe des Textes bei Bedarf wandeln.
- Sven Rautenberg