Bei Textarea wird kein Zeilenumbruch gespeichert...
-
hallo zusammen.
Wenn ich in meinem Webformular etwas ins Textarea eintrage mit Zeilenumbruch, sprich ich drücke die Enter-Taste im Text, dann wird das in der db nicht als Zeilenumbruch mitgespeichert.!?! Wie kann ich das erreichen??
danke schonmal.
-
Es wird in der Datenbank mit Zeilenumbruch (\n) gespeichert. Was dir wohl fehlt, ist der Newline-Tag (<br />). Einfach entsprechend ergänzen und gut. Unter PHP z.B. mit str_replace().
-
Danke Rexy!
Das Problem check ich echt nicht!!!
ich schreibe in mein textarea:
Hallo!
Das ist der Text.Nachdm ich nl2br() oder auch str_replace() benützt habe kommt folgendes wenn ich den gespeicherten Artikel wieder in das Textarea lade:
Hallo!<br/>
Das ist der Text.Jetzt klick ich wieder auf speichern und dann kommt folgendes raus beim nächsten laden:
Hallo!<br/><br/>
Das ist der Text.Bei jedem mal neu speichern kommt ein <br/> dazu!!!!! Wie bitte bekomme ich das hin???
danke schomal
-
Um den Text in einem Textarea auszugeben darfst du kein nl2br() darüber laufen lassen. Denn dort sind Zeilenumbrüche nicht als <br /> dargestellt. Also einfach den Text so wie er kommt speichern und wenn du ihn als HTML-Text (nicht innerhalb eines Textarea) ausgeben willst, machst du vorher deine Ersetzung nach <br />
-
hy flenders,
die idee war nl2br zu benützen bevor ich in die db schreibe. und beim lesen von der db - also zum wiederanzeigen im textarea die <br> wieder in \r\n umzuwandeln.
Aber das funktioniert nicht weil bei jedem erneuten speichern ein weiteres <br> dazugegeben wird...
Im Endeffekt will ich etwas in ein Textarea schreiben, mit Zeilenumbrüchen, das so speichern und beim auslesen aus der db un wiederanzeigen im Textarea soll der text genauso wieder im Textarea erscheinen...
-
l00P schrieb:
die idee war nl2br zu benützen bevor ich in die db schreibe. und beim lesen von der db - also zum wiederanzeigen im textarea die <br> wieder in \r\n umzuwandeln.
Aber das funktioniert nicht weil bei jedem erneuten speichern ein weiteres <br> dazugegeben wird...Dann machst du bei der Ersetzung etwas falsch, denn wenn du <br> bzw. <br /> wieder rückersetzt hast, dann sollte im Textarea gar kein solcher Tag mehr auftauchen - zeig doch mal, wie du es versucht hast...
l00P schrieb:
Im Endeffekt will ich etwas in ein Textarea schreiben, mit Zeilenumbrüchen, das so speichern und beim auslesen aus der db un wiederanzeigen im Textarea soll der text genauso wieder im Textarea erscheinen...
Ja, also wie gesagt, entweder gleich die Zeilenumbrüche durch den entsprechenden HTML-Tag ersetzen und das so in der DB speichern und dann eben für die Ausgabe in der Textarea wieder rückersetzen - oder eben direkt, so wie es vom Formular kommt, in der DB speichern (also ohne ersetzte Zeilenumbrüche) und dann für die Ausgabe als HTML ersetzen und im Textarea so ausgeben, wie es ist...
-
a, also wie gesagt, entweder gleich die Zeilenumbrüche durch den entsprechenden HTML-Tag ersetzen und das so in der DB speichern und dann eben für die Ausgabe in der Textarea wieder rückersetzen
Das hab ich so gemacht und das hat auch geklappt, der Text steht dann in der db inklusive <br/> ! Wenn ich es dann wieder in dei Textarea lade ersetze ich die <br/> wieder durch "\r\n" und der Text erscheint wieder schön lesbar im Textarea... ABER... wenn ich das ganze jetzt wieder speichere dann kommt jedesmal speichern ein neuer Zeilenumbruch dazu!!! Das ist das Problem.
- oder eben direkt, so wie es vom Formular kommt, in der DB speichern (also ohne ersetzte Zeilenumbrüche) und dann für die Ausgabe als HTML ersetzen und im Textarea so ausgeben, wie es ist...
..und so geht es bei mir gar nicht, da wird alles ohne Zeilenumbrüche gespeichert und auch wieder ohne ausgegeben in der Textarea...
lg
-
nl2br ersetzt nicht einfach alle "\r\n" durch ein "<br />", sondern durch ein "<br />\r\n". Wenn Du nun das "<br />" durch "\r\n" ersetzt, dann erhälst Du richtigerweise "\r\n\r\n", also 2 Zeilenumbrüche.
Entweder Du benutzt für das ersetzen str_replace, da dann der Zeilenumbruch tatsächlich ersetzt und nicht nur ergänzt wird, oder meiner Meinung richtiger ersetzt Du gar nichts beim Speichern, sondern nur beim Anzeigen. Das <br /> ist nur wichtig bei der Anzeige im Browser, aber für alles weitere Textmails, etc. gehört das <br /> da sowieso nicht in den Text und Du filterst es ständig raus.
-
Danke Leute jetzt hab ichs, hatte einen furchtbaren Denkfehler...
lg