Zeilenumbruch & mysql

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/zeilenumbruch_amp_mysql_95022/page_1 - zur Vollversion wechseln!


grOOvekill@ schrieb am 08.10.2003 um 15:46

S'gott,

habe diesmal die Search Funktion verwendet, weil ich davon ausgegangen bin, daß sicher schon mal jemand dieses Problem vor mir hatte, aber alle Treffer waren doch irgendwie anders. Deswegen also meine Frage an Euch:

Ich habe ein <textarea>, in welches Text eingetragen wird. Nach einem Klick auf "Speichern" wird dieser Text in einer mysql DB gespeichert. Nachdem sich das <textarea> über mehrere Zeilen erstreckt, kann es sein, daß hie und da nach einem Absatz zweimal Enter eingegeben wird. Nun habe ich das Problem, daß der Text zwar in der DB gespeichert wird, die (in diesem Fall) zwei Entereingaben aber komplett ignoriert werden, was den Effekt hat, daß beim Auslesen aus der DB alles in einer Wurscht steht. Im Internet steht jede Menge über \n's und \r's oder auch andere Alternativen, aber das Einzige, was passiert ist, daß diese Zeichen dann auch in dem String mitgespeichert werden.

Ich habe mal überlegt, ob es sinnvoll wäre, den String nach dem Klick auf "Speichern" zu überprüfen, wo Zeilenumbrüche existieren, um diese dann auf \n's oder \r's oder was auch immer auszutauschen, nur..... wonach soll ich suchen?

Hat irgendjemand eine Ahnung, wie ich dieses Problem bewältigen kann?
tia


Phobos schrieb am 08.10.2003 um 15:52

nehmen wir an der text der in der mysql-zelle steht wird im script in die variable $text eingelesen:

Code: PHP
$text = str_replace("\n","<br>",$text)

erlärung:

jedes mal wenn du im textarea ein "enter drückst" wird das im code als zeilenumbruch gesehen, dieser zeilenumbruch hat die bezeichnung \n (was soviel wie new line heist)
wenn du beim ausgeben im php script, diese \n durch <br> ersetzt, wird überall dort wo vorher im textarea feld ein enter gedrückt wurde, im html code ein <br> ausgegeben

hth


weiRd schrieb am 08.10.2003 um 15:53

afair steht da \n wenn du in der <textarea> enter drückst also einfach nach \n suchen und durch <br> o.Ä ersetzen.
Wenn du es dann wieder ladest einfach nach <br> suchen und durch \n ersetzen

[edit] bzw wenn du es in html ausgeben möchtest bei <br> belassen [/edit]


grOOvekill@ schrieb am 08.10.2003 um 16:02

Heeeeeeeeey! Coole Sache, daß ist genau das, was ich brauche! Shit, dann haben die anderen Threads eh gestimmt! Aber auf die Art und Weise hab' ich gar nicht probiert gehabt! Tausend Dank, Phobos! :)


watchout schrieb am 08.10.2003 um 17:20

Zitat von grOOvekill@
Heeeeeeeeey! Coole Sache, daß ist genau das, was ich brauche! Shit, dann haben die anderen Threads eh gestimmt! Aber auf die Art und Weise hab' ich gar nicht probiert gehabt! Tausend Dank, Phobos! :)
solche konvertierungen sollten aber normal erst bei der ausgabe der daten erfolgen, und nicht beim speichern.

ps: wenn du den ersten post editierst hast du ganz oben ein dropdown-feld wo daneben "Class" steht, wenn du dass jetzt anclickst - siehe da! ein solved...
solved.png


atrox schrieb am 08.10.2003 um 19:16

tip: wenn die ausgabeverarbeitung nicht alzu aufwendig ist, ist es sauberer, die html-tags erst bei der ausgabe einzubauen.


Maehmann schrieb am 08.10.2003 um 23:44

am einfachsten is es nach dem auslesen aus der Db einfach die entsprechende Variable durch die Funktion nl2br() jagen ;)

Siehe dazu: http://at2.php.net/manual/de/function.nl2br.php


grOOvekill@ schrieb am 09.10.2003 um 17:02

Zitat von watchout
solche konvertierungen sollten aber normal erst bei der ausgabe der daten erfolgen, und nicht beim speichern.

ps: wenn du den ersten post editierst hast du ganz oben ein dropdown-feld wo daneben "Class" steht, wenn du dass jetzt anclickst - siehe da! ein solved...
solved.png
Huch! Dieses Solved Pulldown Menü hab ich noch gar nicht bemerkt! Wurde natürlich sofort nachgeholt. :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025