3v4l.org

run code in 500+ PHP versions simultaneously
<?php $pattern = <<<'REGEX' ~ (?(DEFINE) (?<dqstring> " [^\\"]*+ (?s: \\ . [^\\"]* )*+ " ) (?<bcontent> [^()"]*+ (?: \g<dqstring> [^()"]* )*+ ) (?<rbrackets> \( \g<bcontent> (?: \g<rbrackets> \g<bcontent> )*+ \) ) (?<pcontent> [^,()"]* (?: (?: \g<dqstring> | \g<rbrackets> ) [^,()"]* )* ) ) \G [(,] \s* (?<param> \g<pcontent> ) (*:param) | (?<funcName> \w+ ) (*:funcName) ~xu REGEX; $str = 'not(matches(#[Sécurité][Alarme][Mode]#, ["Desarmer",{"action":"Desarmer Sys"}]), result)'; preg_match_all($pattern, $str, $matches, PREG_SET_ORDER); foreach($matches as $m) { $type = $m['MARK']; echo "$type: ", $m[$type], PHP_EOL; }
Output for git.master, git.master_jit, rfc.property-hooks
funcName: not param: matches(#[Sécurité][Alarme][Mode]#, ["Desarmer",{"action":"Desarmer Sys"}]) param: result

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
51.84 ms | 1271 KiB | 4 Q