need to replace <wiki>this page</wiki>
to <a href='wiki/this_page'>this page</a>
using callback function:
text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match) { return "<a href='wiki/"+match.replace(/ /g, '_')+"'>"+match+"</a>"; } );
result is that tag <wiki>
is preserved (full match) - <a href='wiki/<wiki>this_page</wiki>'><wiki>this page</wiki></a>
Is there a way to get matches[0], matches[1] as in PHP's preg_replace_callback()
?
The replace
function's callback takes the matches as parameters.
For example:
text = text.replace(/<wiki>(.+?)<\/wiki>/g, function(match, contents, offset, input_string) { return "<a href='wiki/"+contents.replace(/ /g, '_')+"'>"+contents+"</a>"; } );
(The second parameter is the first capture group)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With