Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Zeilenumbrüche in Textareas PHP registrieren und mit br repl

Heinz_Malcher / 9 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
Borlander Heinz_Malcher „Zeilenumbrüche in Textareas PHP registrieren und mit br repl“
Optionen

Hallo Heinz,
ein Zeilenumbruch wird durch "\n" dargestellt. Wagenrücklauf durch "\r".

CU Borlander

bei Antwort benachrichtigen
xafford Heinz_Malcher „Zeilenumbrüche in Textareas PHP registrieren und mit br repl“
Optionen

geht viel einfacher mit nl2br(variable als string)
ansonsten werden zeilenumgrüche mit %0A%0D oder \r\n codiert.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Heinz_Malcher Nachtrag zu: „Zeilenumbrüche in Textareas PHP registrieren und mit br repl“
Optionen

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

bei Antwort benachrichtigen
Borlander Heinz_Malcher „noch eine frage“
Optionen

In einer TextArea wird doch immer nach Druck auf Return oder Enter eine neu Zeile angefangen. Oder meinst Du was anderes?

CU Borlander

bei Antwort benachrichtigen
Heinz_Malcher Borlander „noch eine frage“
Optionen

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

bei Antwort benachrichtigen
xafford Heinz_Malcher „noch eine frage“
Optionen

ä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.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Heinz_Malcher xafford „noch eine frage“
Optionen

ahhhhhhh Erleuchtung

Danke :-)

bei Antwort benachrichtigen
Dumistvieh Heinz_Malcher „Zeilenumbrüche in Textareas PHP registrieren und mit br repl“
Optionen

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

--- wie immer: ALLE ANGABEN OHNE GEWEHR ÄH GEWÄHR!
bei Antwort benachrichtigen
xafford Dumistvieh „Hallo, da gibt es noch ein versteckes Problem. Was ist, wenn jetzt jemand mit...“
Optionen

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.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen