Ed X: [Enter]-Zeichen in einer <textarea> durch <br> ersetzen

Beitrag lesen

Hi Peter,

alles klar? dann kanns los gehen.
Ein Blick in die Kristallkugel sagt mir, dass du Text, der aus einer
textarea stammt, Html formatieren willst.

Dazu folgendes: 1. eine textarea ist kein Textverarbeitungsprogramm
                   egal welche klimmzüge du machst.
                2. Ist es den aufwand wert? oder solltes du nicht
                   einfach mit mit hartem Zeilenumbruch und <pre>
                   arbeiten?

Wenn 2. nicht stimmt, musst du ein paar mehr dinge beachten:

1. Tabs werden auch nicht dargestellt -> normalisieren

inhalt =inhalt.replace(/\t/g, "    ");

ich denke 4 leerzeichen sind ein gutes maß. Wie aber kommen die
   überhaupt darein, die Tabs?? ......... copy und paste.... machts
   möglich

2. Es geht nicht um leerzeichen die mehrfach vorkommen, sondern
   welche, die nicht hinter einer wortgrenze stehen

inhalt =inhalt.replace(/\B\s/g, "&#160;");

3. dreh und angelpunt der geschichte ist die reihenfolge
   erst html sonderzeichen wie &, <, >, " durch entities ersetzen
   dann tabs killen
   dann zeilen umbruch erledigen
   dann die leerzeichen
   wer mir jetzt noch mit einem vertikalen tabulator kommt kann mich
   mal...... (der wäre auch noch \s)

Zum schluss ersetz du mit einer routine alle charsets >127 durch
&#229; oder was der charset auch ist und fertig.
Sollte jemand dafür einen regulären ausdruck kennen, der das kann und
in JavaScript geht, für gute nachrichten bin ich immer zu haben ;)

Bye Ed X