Wie bekomme ich einen Zeilenumbruch bei Daten aus einer Datenbank?

4 Antworten

Kann es sein, dass in deiner Datenbank gar kein newline Character steht ("\n"), sondern die beiden Zeichen "\" und "n" hintereinander? Überprüfen kannst du das mit der php Funktion bin2hex(), welche aus einem String einen Hexadezimalstring macht mit den Hex Werten jedes Characters. An der Stelle von "\n" sollte jetzt der Hexwert "0a" stehen. Steht dort allerdings "5c6e", dann handelt es sich um die beiden characters "\" und "n", dann wird php das auch mit der Funktion nl2br nicht ersetzen können.

PS: Nachdem ich diese Antwort geschrieben habe, sehe ich erst, dass regex9 das schon wesentlich kürzer beantwortet hat...

dieTrolle 
Fragesteller
 10.12.2021, 12:26

hat sich erledigt, DANK DIESEM FORUM

0

Vermutlich wird der Backslash maskiert. Probiere es so:

echo nl2br(stripcslashes($text));

PS.: Das align-Attribut gehört nicht mehr zum aktuellen Standard. Verwende CSS stattdessen.

<p style="text-align:justify">...</p>
dieTrolle 
Fragesteller
 10.12.2021, 12:21

Super, es funzt :)

0

dazu musst du gucken was in der Datenbank steht . ist es UTF-8 musst deine webseite auch UTF-8 sein ggf dann mit regex die sachen ändern .

es gibt \n und \r umbrüche , vorrausgesetzt dein Zeichensatz ist auch überall gleich .

dieTrolle 
Fragesteller
 10.12.2021, 12:24

hat sich erledigt, DANK DIESEM FORUM

0

Du kannst die \n nach der Abfrage mit <br/> ersetzen.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung
Kwalliteht  10.12.2021, 12:00

<br> ohne /

0
Lezurex  10.12.2021, 12:29
@Kwalliteht

Ich bevorzuge mit Slash, da es so auch mit XHTML kompatibel ist.

0
dieTrolle 
Fragesteller
 10.12.2021, 12:10

Genau das ist ja mein Problem, wie erreiche ich das? Mit nl2br($text) funktioniert es ja nicht, wenn ich aus der Datenbank übernehme was über ein Textarea dort hinein kam.

0
TechPech1984  10.12.2021, 12:18
@dieTrolle

dann hast du warscheinlich keine \n sondern \r oder du hast ein zeichenkonflict zwischen deinem backend und datenbank zeichensatz . machst du alles über UTF8 ?

0
dieTrolle 
Fragesteller
 10.12.2021, 12:22

Tipp von regex9 hat geholfen

0