I need to replace \"{Z}\" with \"test(Z)\" where Z is always an unsigned integer using PHP and regular expressions (unless there\'s a faster way?).
$code=\'{
$code = preg_replace('/\{(\d+)\}/', 'test($1)', $code);
In my experience, preg_replace is much faster than any method of doing replacements using str_replace or strtr.
The missing line is this:
$code = preg_replace('/{([0-9]+)}/', 'test($1)', $code);
How it works:
{ match a literal {
( start a capturing group
[0-9]+ one or more digits in 0-9
) end the capturing group
} match a literal }
The $1 in the replacement string refers to the string captured by the first (and only) capturing group.