Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

zeilenumbrüce im textfeld mit in die DB

Empfohlene Antworten

Veröffentlicht

hallo,

ich habe ein problem. UNd zwar möchte ich,d ass zeilenumbrüche , die ich in einem Textfeld mache mit übernommen, wenn ich den textfeldinhalt dann in eine MySQL-DB einfüge. So wie es bei den phpBB ist, da werden zeilensprünge ja ebenfalls später angezeigt. Kann mir wer helfen? ;)

IMO werden textarea-inhalte ja bereits nicht mit <br>, sondern mit \n gespeichert (korrigier mich, wenn ich falsch liege), du musst sie nur dann umgekehrt wieder auslesen, d.h. eine zur nl2br-funktion reversible anwenden - also str_replace('<br>','\n')

siehe dazu auch im PHP-manual.

s'Amstel

ich probiers mal aus - danke

klappt leider nicht. die Zeilenumbrüche \n werden nicht mir in die DB eingetragen, sie evrschwinden beim eintragen einfach :-(

Wie kann ich es machen, dass die nicht verloren gehen? Im mom. habe ich ne doofe lösung, dass immer wenn ich nen zeilumbruch bin, man auf nen button klickt, der "<br /><br />" einfügt. das funzelt natürlich, find ich aber unpraktisch. :(

Dieses müsste klappen.

str_replace('<br>','\n');

Guck dir mal den Eintrag in der Datenbank direkt an ohne ihn auszulesen und du wirst merken das es da richtig drinnen Steht.

Allerdings musst du bei der ausgabe diese befehl wieder umdrehen.

str_replace('\n','<br>');

\n wird in HTML nicht als zeilenumbruch angezeigt es sei den du setzt es in das <pre> tag. Deshalb musst du ein html zeilenumbruch daraus machen.

Mfg

Mike1990

hallo,

<tr><td bgcolor='yellow'>Text</td><td>zeile1


zeile2


zeile3


zeile4</td></tr></table> 

das istd er quelltext der seite, die ehrauskommt. Der Zeilenumbruch wird nur im Quelltext gemacht, was man dann natürlich nicht in der Ausgabe sieht.

IN keienr einzigen Eintragung in der Datenbank steht etwas von "\n" auch wenn ich Zeilenumbrüche einfüge. :confused: dabei müsste das doch bei phpmyadmin erscheinen. auch da habe ich den quelltext durchforstet. Da steht nichts von dem \n

so, gelöst. ich ersetze b"\n" mit JavaScript einfach vor dem abschicken mit <br /> :)

Mit "\n" machst du keine Zeilenumbrücke... damit werden im Quelltext oder eben in Textareas zeilenumbrüche gemacht. Um in einen HTML document ein Zeilenumbruch zu haben musst du <br> verwenden.

"\n" ist auch nicht Sichtbar. Wenn du in der Datenbank dies stehen hast:

Dies

ist 

ein 


Test
Dann sind die Zeilenumbrüche ein "\n" also kannst du dir das wie folgt vorstellen
Dies\n

ist\n

ein\n

\n

Test

ja, schon klar.

Vor dem eintragen in die DB ersetze ich ich "\n" durch "<br />"

Das \n ist ind er textarea. Vor dem absenden lasse ich es durch ein script laufen und ersetze eben dieses \n durch ein <br />, denn so habe ich dann später im Output den Zeilenumbruch :)

Warum löst du es nicht serverseitig? Optionale clientseitige Technologien würde ich persönlich bei soetwas vermeiden.

und wo ist bitte der unterschied, ob ich es per PHP ersetze oder per JavaScript?

ZUdem ist die funktion ja sowieso geschrieben, da ich dort auch smilies verwende und die abkürzungen für die smilies in img-Tags umgewandelt werden, damit die smilies halt erscheinen.

Der Unterschied ist, dass JavaScript abhängig vom Client ist. Das heißt, es kann ausgeführt werden, muss aber nicht. Was der Anwender mit seinem Browser macht, weißt Du in der Regel nicht. Von daher würde ich nie JavaScript verwenden, wenn es darum geht, was in die Datenbank geschrieben wird.

Smiley-Code per Javascript mit img-Tags zu ersetzen halte ich auch nicht für besonders glücklich. Du hast serverseitige Mittel, warum setzt Du sie nicht ein? Für sowas sind die da.

ah, ok, der einwand ist berechtigt. Das serverseitige ist unabhängig vom clientbrowser. Naja, dieses PN-System ist nur für mich und eine andere Person. Von daher ist es nicht so wichtig.

Wobei ich sagen muss dass mit str_replace alles deutlich einfacher gewesen wäre als mit JavaScript :D

Wobei ich sagen muss dass mit str_replace alles deutlich einfacher gewesen wäre als mit JavaScript :D

Aus Schaden wird man klug. ;)

es ist ja kein schaden entstanden ;):cool:

Zeit = Geld, auch wenn es bei Privatprojekten natürlich nicht so sehr ins Gewicht fällt. :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.