ich steh vor einem Rätsel! Wenn ich folgende Funktion anwende:
var word = (string);
Was soll denn das bewirken?
word=word.replace(/\n/g,"hier");
dann wird aus
der test
des forms
geht los
folgendes:
der test
hierdes forms
hiergeht los
Das bedeutet: Es werden zwar alle Zeilenumbrüche gefunden und auch ersetzt, nur bleiben sie trotzdem weiter bestehen!
Du verwendest sicherlich Windows. Zeilenumbrüche unter Windows bestehen aus _zwei_ Zeichen: dem Wagenrücklauf \r gefolgt von einem Zeilenvorschub \n (Mac: nur \r, Unix: nur \n). Dementsprechend mußt Du auch beide Zeichen ersetzen:
word=word.replace(/[\n\r]{1,2}/g,"hier");
Der Bereich der eckigen Klammern stellt ein Zeichen dar (nur eines!), das aus der Gruppe der in den Klammern aufgeführten Zeichen bestehen darf ("Zeichenklasse"). Hier darf also entweder ein \n oder ein \r stehen.
Die geschweifte Klammer dahinter mit dem 1,2 drin besagt, daß das vorige Objekt (also unsere Zeichenklasse) ein- oder zweimal vorkommen darf.
Damit hast Du dann alle Möglichkeiten abgedeckt: \n, \r, \r\n und, Irrtümer sollen ja vorkommen, auch \n\r.
Gruß,
soenk.e