n'abend,
var platzhaltername = "PLATZHALTER";
var regexp = new RegExp("" + platzhaltername + "(\d+)", "g");
function ersetzungsfunktion (treffer, nummer) {
return texte[nummer];
}
var url = url.replace(regexp, ersetzungsfunktion);
Wo du gerade [String.replace](http://de.selfhtml.org/javascript/objekte/string.htm) mit Callback-Funktion empfiehlst, fällt mir mal wieder auf, dass die Javascript-Dokumentation eben dieses nicht behandelt. Ohne es zu wissen, würde ich beispielsweise nicht auf die Idee kommen, dass alle "Capure-Blocks" als Argument übergeben werden:
~~~javascript
var text = 'sss123ttt&%$',
pattern = new RegExp( '(\\w+)((\\d{3})([a-z]+))(\\W+)' ),
replaceCallback = function( match, buchstaben, dreiZahlenUndKleinbuchstaben, dreiZahlen, kleinBuchstaben, sonderzeichen ){
// kompletter gefundener expression-match
alert( match );
// erster Capture-Block: (\\w+)
alert( buchstaben );
// zweiter Capture-Block: ((\\d{3})([a-z]+)) -- von außen nach innen
alert( dreiZahlenUndKleinbuchstaben );
// dritter Capture-Block: (\\d+)
alert( dreiZahlen);
// vierter Capture-Block: ([a-z]+)
alert( kleinBuchstaben );
// fünfter Capture-Block: (\\W+)
alert( sonderzeichen );
// ersetzen durch Rückgabewert
return 'ersetzt...';
};
text.replace( pattern, replaceCallback );
Und für die überkandidelten der Hinweis, dass dieser Spaß im IE5 wohl nicht funktioniert...
weiterhin schönen abend...
--
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
#selfhtml hat ein Forum?
sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|