33 preg_match_all(
'/(?<!%)(?:%%)*%\\(([^\\)]*)\\)/', $msg, $matches);
35 if (isset($matches[1][0])) {
36 $args += array_combine(
38 array_fill(0, count($matches[1]), null)
47 $keys = array_keys($args);
48 $mapping = array_flip($keys);
57 return '%'.($val + 1).
'$';
61 $mapping = array_combine($keys, $values);
62 $msg = strtr($msg, $mapping);
63 return vsprintf($msg, array_values($args));
An interpolator that uses a syntax similar to Python's old formatting syntax: %(value)s.
interpolate($msg, array $args=array())