• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Java Script suchen und ersetzen

Status
Für weitere Antworten geschlossen.

mi-schi

Neues Mitglied
Hallo,

ich habe folgendes Java Script:

Code:
      var suchen = new Array("[", "]", "!", "_");
var ersetzen = new Array("<", ">", "\"", " ");
for (var i = 0; i < suchen.length; i++) {
aTag = aTag.replace(suchen[i], ersetzen[i]);
eTag = eTag.replace(suchen[i], ersetzen[i]);
}
Ich möchte aber, dass alle Zeichen im String gesucht und ersetzt werden. Das geht mit //g: http://de.selfhtml.org/javascript/ob...ng.htm#replace

Leider funktioniert das hier aber nicht:

Code:
      var suchen = new Array("[", "]", "!", "_");
var ersetzen = new Array("<", ">", "\"", " ");
for (var i = 0; i < suchen.length; i++) {
aTag = aTag.replace(/suchen[i]/g, ersetzen[i]);
eTag = eTag.replace(/suchen[i]/g, ersetzen[i]);
}
Kann mir jemand helfen?
 
Code:
aTag = "[[[[[]]]]]!__!";
var suchen = new Array("\\[", "\\]", "!", "_");
var ersetzen = new Array("<", ">", "\"", " ");
for (var i = 0; i < suchen.length; i++) {
aTag = aTag.replace(new RegExp(suchen[i], "g"), ersetzen[i]);
}
alert(aTag);
 
Danke. Warum das hier
Code:
"\\[", "\\]"
Warum die Backslashs?

EDIT:

Stimmt, funktioniert nur mit den zwei Backslashs. Gibts dafür auch eine Begründung?
 
Die Eckige Klammer braucht man für was anderes und deshalb muss sie escaped werden.

Code:
var text = "abcdef"
var reg = new RegExp("[a-c]", "g");
erg = text.replace(reg, "_");

var text2 = "abcdef";
var reg2 = new RegExp("[adf]", "g");
erg2 = text2.replace(reg2, "_");

alert("Ursprünglicher Text: " + text + "\nRegexp: " + reg + "\nErgebnis: " + erg + "\n\n\nUrsrpünglicher Text: " + text2 + "\nRegexp " + reg2 + "\nErgebnis: " + erg2);
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben