3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = "lorem ipsum <foo=42> dolor sit <bar=[17]> amet consectepture <foo=[37]> adipisicing elit <bar=19> sed do eiusmod"; $re = '/(?J)<%{name}=(?(?<value>\\d+)|\\[(?<value>\\d+)\\])>/'; foreach (array("foo", "bar") as $name) { echo $name, ": "; if (false !== preg_match(str_replace("%{name}", $name, $re), $string, $m)) { var_dump($m['value']); } else { echo "<FALSE>\n"; } }

preferences:
36.49 ms | 402 KiB | 5 Q