<a href='wiki/this_page'>this page</a>
değerini geri arama işlevini kullanarak değiştirmelidir:geri arama işlevini eşleşme ile değiştir
text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match)
{
return "<a href='wiki/"+match.replace(/ /g, '_')+"'>"+match+"</a>";
}
);
sonucu <wiki>
etiketi korunur (tam eşleme) - <a href='wiki/<wiki>this_page</wiki>'><wiki>this page</wiki></a>
Eşleşme elde etmenin bir yolu var mı [0], eşleşmeler [ 1] PHP'nin preg_replace_callback()
'unda olduğu gibi?
çalışma. şimdi biliyorum JavaScript referansı – Qiao
olduğunu düşünüyorum cevabı tamam, ama çok kısa. Ayrıca, eşleşen iki işlevin son iki parametresinin sırası yanlış görünüyor. Bkz. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter Burada, eşleşen işlevin bağlı olarak değişen sayıda parametresi bulunduğunu açıklar. "parenthesized submatch [es]" sayısı. – user2367418