JavaScript Regulärer Ausdruck gesucht

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.549
Hi,

ich möchte in dem HTML-Tag <textarea> gern alle Zeilenumbrüche mit ¶ sichtbar machen.
Das Zeichen soll aber keinesfalls übermittelt sein.

Dies war mein Plan:
Beim Laden der Seite \n ersetzen
Code:
windows.onload = function(){
...
string.replace(/\n/g, '\u00b6\n');
}

Beim übermitteln des Formulars (onsubmit) alle ¶ löschen
Code:
...
string.replace('/\u00b6/g', '');

Jetzt such ich noch einenregulären Ausdruck, der mir während des Schreibens (onkeyup) den Text verändert:
  • Bei einem Enter soll das Absatzzeichen eingefügt werden
  • Wenn ich ein newline lösche, soll auch dass davor ligende Absatzzeichen gelöscht werden
  • Wenn ich das Absatzzeichen lösche, soll auch das newline Zeichen gelöscht weden

Mit anderen Worten, sollte ein ¶ ohne folgendem \n, oder ein \n ohne vorhergehendem ¶ im string enthalten sein, dieses Zeichen bitte löschen. Lässt sich das mit einem regulären Ausdruck bewerkstelligen?

VielenDank für eure Hilfe
 
Code:
([^\u00b6]\n|\u00b6[^\n])
Erklärung (mit der Regex-Syntax für Javascript) gibt es hier, aber noch mal grob so:
  • (a|b) matcht entweder a oder b
  • [abc] matcht entweder a, b oder c
  • [^abc] matcht mit einem Zeichen, das nicht a, b oder c ist
  • ab sollte klar sein.
Edit: Mir fällt gerade auf, dass der Ausdruck nicht funktioniert, wenn ein Zeilenumbruch am Anfang oder ein Paragraphenzeichen am Ende des Strings auftaucht. Aber das überlasse ich mal dir. :P
 
Zuletzt bearbeitet:
Zurück
Oben