Zeilenumbruch in und aus MYSQL DB lesen u darstellen
Pascal
- php
0 Mike0 David Tibbe
Hallo zusammen
Wie kann ich erreichen, dass der Inhalt aus einem Feld einer MYSQL DB mit Zeilenumbruch ausgegeben wird? Dass der Feldinhalt mit Zeilenumbruch gespeichert ist, kann ich in 'PHP Myadmin' sehen.
Wenn ich nun das Feld normal auslese und mir den Inhalt ausgebe, sind alle Zeilenumbrüche weg. Mein Quelltext sieht so aus:
******************************************************
$sql = "SELECT * FROM $tabelle
WHERE $filterselected ORDER by vorfalldatum
ASC";
$sqlResultorder = mysql_query ($sql, $dblink);
while ($row = mysql_fetch_row ($sqlResultorder)){
echo "$row[3]";
******************************************************
Ich hoffe ihr könnt mir weiterhelfen und mir aufzeigen, was ich falsch mache...
Gruss
Pascal
Moin Pascal,
$row[3]=str_replace('\n','<br>',$row[3]);
echo "$row[3]";
Gruß
Mike
Hallo Mike,
$row[3]=str_replace('\n','<br>',$row[3]);
Das ist sehr ungut denn je nach Betriebssystem ist die Codierung der Zeilenumbrüche unterschiedlich. Z.T wird auch nur \r verwendet, solche würdest du also nicht ersetzen.
Grüße
David
Moin David,
$row[3]=str_replace('\n','<br>',$row[3]);
Das ist sehr ungut denn je nach Betriebssystem ist die Codierung der Zeilenumbrüche unterschiedlich. Z.T wird auch nur \r verwendet, solche würdest du also nicht ersetzen.
Richtig! Aber das kann man ja durchaus selbst testen.
Also unter Umständen auch:
$row[3]=str_replace('\r\n','<br>',$row[3]);
Gruß
Mike
Hallo Mike,
Aber das kann man ja durchaus selbst testen.
Aber warum willst du es so umständlich machen, das Rad neu erfinden?
Grüße
David
Hi David,
Aber das kann man ja durchaus selbst testen.
Aber warum willst du es so umständlich machen, das Rad neu erfinden?
Tja, ist wohl der menschliche Erfindergeist ;-)
Btw. finde ich es manchmal zum Verstehen auch ganz praktisch, wenn man
eine bereits existierende Funktion mittels anderen Funktionen "umfährt",
dass macht das verstehen manchmal etwas leichter.
Aber hier hat Mike wahrscheinlich nl2br() einfach nicht gekannt ;-)
MfG, Dennis.
Moin David und Dennis,
@ David,
du hast natürlich Recht,
Aber hier hat Mike wahrscheinlich nl2br() einfach nicht gekannt ;-
@ Dennis,
doch ich kenne es, aber der Mensch ist ein Gewohnheitstier :-) und ich benutze halt immer str_replace
Gruß
Mike
Hi Mike
Dank auch an dich für den Lösungsvorschlag. Ich hab mich zwar für David's Lösung entschieden, hab aber von deinem Lösungsansatz trotzdem profitiert. Nun weiss ich, dass die Zeilenumbruchszeichen und ev. noch mehr Steuerzeichen ebenfalls gespeichert und auch einzeln mit deinem Lösungsvorschlag ersetzt werden können...
Grüssli
Pascal
Hallo Pascal,
Wenn ich nun das Feld normal auslese und mir den Inhalt ausgebe, sind alle Zeilenumbrüche weg
Nein, sie sind noch da. Es sind aber einfache Zeilenumbrüche, also z.B. \n, nicht aber <br />s. Schau dir mal nl2br() für die Ausgabe an (http://php3.de/nl2br).
Grüße
David
Hallo David
Cool, mit nl2br() funzt es...
:-)
Danke& Grüssli
Pascal