Hi, wie kann ich , wenn ich z.b. ein gästebuch habe, Zeilenumbrüche in textareas auch wirklich mit br versehen? müsste eigentlich , mit str_replace gehen aber wie bezeichne ich einen zeilenumbruch? hmm hoffe das versteht jemand
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
Hallo Heinz,
ein Zeilenumbruch wird durch "\n" dargestellt. Wagenrücklauf durch "\r".
CU Borlander
geht viel einfacher mit nl2br(variable als string)
ansonsten werden zeilenumgrüche mit %0A%0D oder \r\n codiert.
Hi, danke erstmal für die Antworten. Die Sache ist nur die, nehmen wir mal ein Gästebuch, in dessen Eintragsfeld ein User einmal die |_ Return Taste betätigt, wie kann ich das zunächst einmal registrieren, bzw. wo kann ich es registrieren, so dass ich dann den Zeilenumbruch auch darstellen kann.
Gruss Heinz
In einer TextArea wird doch immer nach Druck auf Return oder Enter eine neu Zeile angefangen. Oder meinst Du was anderes?
CU Borlander
hi, genau das meine ich, leider passiert das bei mir nicht, der zeilenumbruch bei druck auf return wird bei meinen textareas immer ignoriert, so dass man 20 mal return tippen kann aber der text wird ausgelesen als wäre kein einziger Returndruck erfolgt in der DB allerdings sind die Zeilenumbrüche sichbar :?? EInzige Möglichkeit ist immer <br> einzugeben, nur kann leider nicht jeder html tags :-)
ähm...okay, nochmal:
du hast dein script, an das über eine form der inhalt der textarea als sagen wir mal $mein_text übergeben wird. dieser string enthält alle formatierungen wie tabs (\t), carriage returns (\r) lineends (\n) usw...diese werden, wenn du es per get übermitteln lässt nach rfc encodiert. jetzt hast du eine einfache möglichkeit:
$neuer_text=nl2br("$mein_text");
oder eine umständlichere:
$neuer_text=ereg_replace("\r\n","<br>","$mein_text");
ausgegeben sollte in beiden fällen ein <br> werden.
ahhhhhhh Erleuchtung
Danke :-)
Hallo,
da gibt es noch ein versteckes Problem. Was ist, wenn jetzt jemand mit Linux oder einem Mac das Textfeld bedient? Leider haben alle drei unterschiedliche Meinungen beim Kodieren der Return-Taste. Am elegantesten ist es sicherlich, je nach OS-Typ das zu wandeln:
DOS: \\r\\n
Unix: \\n
MAC: \\r
Sonst kann das Theater geben. Es sei denn, Du weißt, daß es nur 100pro Windows-Benutzer sind, die in das Textfeld schreiben ;)
Gruß
Dumistvieh
nein, das ist kein problem. die kodierung von zeilenumbrüchen in textareas ist festgelegt und wird vom browser, nicht vom os selbst bestimmt. und in browsern gilt carriage-return+newline.