3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tokens = [ ':rr'=>5, ':tipo'=>'\[A-Z]' ]; $regex = '/#([a-zA-z0-9_]+)(:[a-zA-Z]+)/'; $pattern = '#nombre:tipo'; //echo preg_replace($regex, "(?<$1>".$tokens[(int) ${2}].")", $pattern); echo preg_replace_callback($regex, function (array $matches) { echo "(?<{$matches[1]}>{$tokens[{$matches[2]}})"; }, $pattern);
Output for 5.4.0 - 5.4.23, 5.5.0 - 5.5.7
Parse error: syntax error, unexpected '{', expecting ']' in /in/1R05P on line 18
Process exited with code 255.
Output for 5.3.0 - 5.3.28
Parse error: syntax error, unexpected '[' in /in/1R05P on line 3
Process exited with code 255.

preferences:
179.38 ms | 1395 KiB | 68 Q