Mache ich einen Denkfehler?
scheint nicht so zu sein, ich bin aber auch überrascht und hab jetzt keine Lösung, da muss wohl ein Fachmann ran.
Ich habe noch mal drüber nachgedacht. Rein der Syntax nach wird ja auch nur "$1" als Konstante übergeben. Warum sollte in der Funktion ein anderer Wert auftauchen? Die Ersetzung findet nur intern in replace() statt.
Genau deinen Ansatz mit replace() hatte ich zuvor schon verworfen, weil ich keinen Zugriff auf die Ergebnisse bei mehreren Ersetzungen hatte. Dann bin ich zum einen auf match() gekommen, dessen Ergebnisse ich dann in einer Schleife durchlaufen kann und zum anderen habe ich hier im Forum gefragt, ob es denn nicht auch einfacher geht.
Immerhin ist dabei die Sache mit prototype für mich als Erkenntnis hängengeblieben und vielleicht hat ja noch jemand einen anderen Ansatz parat.
Ralf