Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
118
rated 0 times [  122] [ 4]  / answers: 1 / hits: 47060  / 14 Years ago, tue, august 3, 2010, 12:00:00

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()?


More From » javascript

 Answers
36

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)


[#96035] Saturday, July 31, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
alyssiat

Total Points: 608
Total Questions: 102
Total Answers: 101

Location: Japan
Member since Sat, Jun 6, 2020
4 Years ago
;