Hallo,
ich möchte eine JavaScript-Variable in einem regulären Ausdruck benutzen.
Du wirst wohl nicht um die verwendung des RegExp-objects umhinkommen.
var matcher = new RegExp(suchstring, "g");
evtl. reicht auch
dann sollte
text = text.replace ( matcher , ersatzstring );
mit global-option funktionieren.
Vorsicht, das verstehen evtl. nicht alle Browser.
hier was zum testen:
<-------------------- schnipp ------------------------>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script>
function repl() {
var matcher = new RegExp(document.eins.such.value, "g");
document.eins.testtext.value = document.eins.testtext.value.replace( matcher , document.eins.ersatz.value );
}
</script>
</head>
<body>
<form name="eins">
<input type="text" name="such" value="ist"><br>
<input type="text" name="ersatz" value="sei"><br>
<textarea cols="40" rows="6" name="testtext">
Dies ist ein Text in dem das Wort "ist" mehrmahls vorgekommen ist.
Die sinnhaftigkeit des ganzen ist fragwuerdig und ist hiermit dahingestellt.
</textarea><br><br>
<input type="button" value="mache" onClick="repl()"><br>
</form>
</body>
</html>
<-------------------- schnapp ------------------------>
Bye eddie