Hi!
ich möchte mittels eines regulären ausdrucks einen string in einem markiertem
text ersetzen (geht leider nur mit misie, da ns die funktion falsch implementiert hat.
Leider weiss ich nicht welche Funktion Du meinst, die der Netscape falsch implementiert haben soll. Allgemein laesst sich sagen, dass JS immer noch von Netscape vorgegeben wird, weshalb wohl eher andere Browser zu Fehlern neigen.
function ersetzen(text) {
Auswahl=document.selection.createRange().text;
Auswahl = Auswahl.replace(/testtext/g,""); // wie stelle ich es jetzt an,
dass hier statt des festen ausdrucks testtext, die beim funktionsaufruf übergebene variable text ersetzt wird??
Einen dynamischen RegExp kannst Du mit
new Regexp("pattern" [, "flags"])
erstellen, in Deinem Beispiel also einfach
Auswahl = Auswahl.replace(new Regexp(text, "g") ,"");
Den Kontext hab ich mir jetzt mal nicht angeschaut, weiss also nicht, ob's da auch noch was zu deichseln gaebe.
Literatur: http://developer.netscape.com/docs/manuals/js/client/jsref/regexp.htm, http://developer.netscape.com/docs/manuals/js/client/jsguide/regexp.htm
Und dann:
function ersetzen(text2) { // hier heisst es natürlich text2 und nicht text2. sonst würde es zu probnlemen mit der variable text eine zeile drunter kommen
Auswahl=document.selection.createRange().text;
Auf der naechsten Zeile gibt es keine Variable namens text. Allenfalls ist da eine Eigenschaft text von dem von document.selection.createRange() zurueckgegebenen Objekt, aber die hat nun wirklich nichts mit dem Parameter der Funktion zu tun; insbesondere gibt es auch keinen Grund, warum die kollidieren sollten.
So long