нужно заменить <wiki>this page</wiki>
на <a href='wiki/this_page'>this page</a>
с помощью функции обратного вызова:заменить функцию обратного вызова спичек
text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match)
{
return "<a href='wiki/"+match.replace(/ /g, '_')+"'>"+match+"</a>";
}
);
результат в том, что тег <wiki>
сохраняется (полный матч) - <a href='wiki/<wiki>this_page</wiki>'><wiki>this page</wiki></a>
Есть ли способ, чтобы получить соответствует [0], соответствует [1], как в PHP preg_replace_callback()
?
работает. теперь я знаю, были ли ссылки на JavaScript – Qiao
Я думаю, что ответ в порядке, но он слишком краток. Также порядок неправильных двух последних параметров функции сопоставления. См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter , где объясняется, что существует различное количество параметров, полученных функцией сопоставления, в зависимости от число «заключенных в скобки» [es] ». – user2367418