Der Martin: Absatzmarken in textarea

Beitrag lesen

Hi,

bei der Eingabe in ein textarea ergibt die Taste [Enter] offenbar den Code "\n", ...

äh, ja und nein. Zeilenumbrüche werden je nach System unterschiedlich codiert.
Unix-basierte Systeme (schließt Linux und neuere Mac OS mit ein) verwenden ein \n als Zeilenumbruch.
Windows hat die Tradition von DOS übernommen, einen Zeilenumbruch als Kombination \r\n zu codieren.
Und es soll Systeme geben (ältere Macs zum Beispiel), die nur ein \r verwenden.

In den meisten Internet-Protokollen ist \r\n in den Spezifikationen festgelegt, und auch Web-Browser verwenden üblicherweise \r\n - auch unter Linux.

$beschreibung = str_replace("\n","¶\n",$row['beschreibung'];

bekomme aber diese Anzeige:
"sich das Ganze vor rund 25 Jahren abgespielt hat.

¶Manch einen Spitzenvertreter aus Politik"

Lass dir am besten mal die String Byte für Byte, Zeichen für Zeichen anzeigen, bevor du ihn bearbeitest. Dafür kann man, wie dedlfix gern vorschlägt, urlencode() "missbrauchen". Vermutlich bekommst du dann sowas:

... abgespielt+hat.%0D%0A%0D%0AManch+einen ...

Wenn du deinen obigen Code darauf loslässt, bekommst du also die Kombination \r¶\n für die Zeilenumbrüche. Da wird für die Ausgabe offensichtlich das \r als Zeilenumbruch interpretiert, dann kommt das Absatz-Symbol, und das nachfolgende \n wird anscheinend ignoriert.

So long,
 Martin

--
Nein, es ist nicht wahr, dass bei der Post Beamte schneller befördert werden als Pakete.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(