Hi Peter,
Ein Blick in die Kristallkugel sagt mir, dass du Text, der aus einer
textarea stammt, Html formatieren willst.
Nein. Ich will den Text auf eine MySQL-Datenbank vorbereiten, bzw. ich habe die Aufgabe, das mit JavaScript hinzubekommen.
Nun ja, man kann nicht immer richtig liegen ;)
2. Ist es den aufwand wert? oder solltes du nicht
einfach mit mit hartem Zeilenumbruch und <pre>
arbeiten?
Das hatte ich auch erst vorgeschlagen, geht aber nicht. Es geht um ein Eingabeformular für Liedtexte, und wir möchten gerne alles einheitlich haben. Momentan sind wir bei ca. 4000 Liedtexten angekommen, die alle <br> verwenden - noch manuell eingegeben. Die müsste man alle konvertieren - ist das nicht noch umständlicher?
gebe mich geschlagen
Wenn 2. nicht stimmt, musst du ein paar mehr dinge beachten:
- Tabs werden auch nicht dargestellt -> normalisieren
inhalt =inhalt.replace(/\t/g, " ");
Kommen in einem Liedtext Tabs vor? :)
Oh ha, wenn man den refrain (typo)grafisch absetzen will zb, machen
sich tabs manchmal ganz gut.
- Es geht nicht um leerzeichen die mehrfach vorkommen, sondern
welche, die nicht hinter einer wortgrenze stehen
inhalt =inhalt.replace(/\B\s/g, " ");
Funzt nicht. Ich möchte zwei oder mehr Leerzeichen entfernen - wenn ich es so mache, bleiben die Leerzeichen, sie werden wg. der Umschreibung sogar angezeigt!
h_in = h_in.replace(/\B\s/g,"");
tja hier war ich von der falschen annahme mit der
HTMLtext-Formatierunug ausgegangen, hätte mir deinen Text besser
durchlesen sollen, sorry
- dreh und angelpunt der geschichte ist die reihenfolge
erst html sonderzeichen wie &, <, >, " durch entities ersetzen
Hab ich (', ´, ` durch ', ä, ö, ü, Ä, Ö, Ü, ß durch Umschreibungen)
dann tabs killen
yup
dann zeilen umbruch erledigen
dann die leerzeichen
ok werde ich vertauschen
weil du sonst die <br> eliminierst....
wer mir jetzt noch mit einem vertikalen tabulator kommt kann mich
mal...... (der wäre auch noch \s)
Was ist bitte ein vertikaler Tabulator??
\v ist ein evertikaler Tabulator
Außerdem .... wenn ich das richtig verstanden habe, kann \s vieles sein (\f\n\t\v und Leerzeichen)!!
und deshalb der reihe nach erst tabs dann \n dann leerzeichen
\f od. \v wird ir wirklich kaum unterkommen, und wenn sollten
browser das ignorieren (textareas glaube ich auch)
Zum schluss ersetz du mit einer routine alle charsets >127 durch
å oder was der charset auch ist und fertig.
Wozu brauche ich das?
weil du dir dann das ersetzen der Umlaute sparen kannst, und außerdem
solche gemeinheiten wie norwegische runen Zeichen uä abfängst. Sowas
soll bei Songs schon mal vorkommen. (oder sind die bei euch alle
englisch?)
Vor allem bekommst du keine Probleme, wenn einer auf seinem rechner
einen falschen zeichensatz eingestellt hat. Wenn du zum beispiel
slawische zeichen eingibst und nicht konvertierst werden sie in einem
browser mit western latin-1(und so sind die meisten eingestellt)
falsch dargestellt. Konvertierst du sie zu unicode darstellung
(charCodeAt gibt entgegen dem was in Selfhtml steht unicode zurück)
hast null probleme :)
Danke für die Infos,
hehe, kein Problem
Bye Ed X
PS: Hast du ICQ?
Sorry, no. Aber ich denk mal drüber nach.