necessario sostituire <wiki>this page</wiki>
-<a href='wiki/this_page'>this page</a>
utilizzando la funzione di callback:sostituire funzione di callback con i fiammiferi
text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match)
{
return "<a href='wiki/"+match.replace(/ /g, '_')+"'>"+match+"</a>";
}
);
risultato è che tag <wiki>
si conserva (full match) - <a href='wiki/<wiki>this_page</wiki>'><wiki>this page</wiki></a>
C'è un modo per ottenere corrisponde a [0], corrisponde a [1] come in PHP preg_replace_callback()
?
lavoro. ora so che il riferimento JavaScript è – Qiao
Penso che la risposta sia ok, ma è troppo breve. Anche l'ordine degli ultimi due parametri per la funzione di corrispondenza sembra essere errato. Vedere https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter dove si spiega che vi è un numero variabile di parametri ricevuti dalla funzione di abbinamento a seconda di il numero di "submatch parentesi [es]". – user2367418