Textausgabe ohne Umbruch?

uwee

Erfahrenes Mitglied
Hallo

Ich habe per textarea einen Text mit mehreren Absätzen in eine MySQL-Tabelle geschrieben. Der Typ des Feldes ist text!
Nun möchte ich das ganze wieder ausgeben. Statt einem Absatz wird allerdings nur ein Leerzeichen gesetzt.

folgenden Quelltext habe ich für das Formularfeld verwendet:
PHP:
<textarea name='mem1' cols=50 rows=5 wrap=physical>Text</textarea>


Dies der Quelltext für die Ausgabe:
PHP:
[-]
",$row->mem1,"
[-]


Wie bekomme ich es jetzt hin, dass die eingefügen Absätze auch wirklich eingehalten werden?!

Danke
UweE
 
ich muss davon ausgehen, dass keiner der User die geringste Ahnung hat, was sich im Hintergrund abspielt.
Ich habe die textarea, da tippt der ungebrenzt seinen Text ein, mit Absätzen. Der Text muss exakt so wieder ausgegeben werden können...

PHP:
<?php
echo nl2br("foo isn't\n bar");
?>

Das würde bedeuten, dass der User nach jedem Absatz ein \n machen müsste, wenn ich mich jetzt nicht ganz irre
 
Wieso? Wenn der User "Enter" drückt, dann ist das doch das gleiche, als würde er "\n" schreiben, ... :suspekt:


redlama
 
okay, das hab ich ejtzt kapiert. jetzt hab ich das in meinen Quellcode eingebaut:

PHP:
<?php
echo nl2br(" [-] /*riesige Tabelle folgt*/[-] ");
?>

davor hab ich nochmal ein echo stehen, wo ich das nl2br nicht brauche...
ALLES was hinter diesem nl2br steht wird NICHT angezeit, bis das echo beendet ist!
 
Wenn der User "Enter" drückt, dann ist das doch das gleiche, als würde er "\n" schreiben, ...
Das stimmt nicht. Er setzt nur ein Steuerzeichen, welches in Programmiersprachen wie C, C++, Java und anderen auch durch ein \n ausgedrück werden kann.
 
@Gumbo: Das wollte ich damit eigentlich ausdrücken, aber danke, dass Du es besser erklärt hast.

@uwee: Ich hatte auf meiner Page auch das Problem, dass die Zeilenumbrüche nicht richtig dargestellt wurden. Ich habe es dann so gelöst, dass ich vor dem Speichern in die datenbank via ereg_replace das Newline Steuerzeichen in ein <br /> umgewandelt habe:
PHP:
$tmp = ereg_replace("\n", "<br />", $tmp);
Ist vielleicht nicht die beste Lösung, aber es ist effektiv!

redlama
 
Steuerzeichen sollten allerdings erst zur Ausgabe formatiert werden, und nicht zum Speichern. Grund dazu ist, dass neben der geringeren benötigten Speicherbedarfs möglicherweise auch der Entschluss, die Ausgabe anders als bisher zu formatieren. Daher ist es sinnvoll, die Formatierungen so „physisch“ wie möglich zu belassen.
 
Zurück