Zum Inhalt springen

zeilenumbrüce im textfeld mit in die DB


Empfohlene Beiträge

Geschrieben

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? ;)

Geschrieben

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

Geschrieben

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. :(

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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 :)

Geschrieben

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.

Geschrieben

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.

Geschrieben

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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...