<?php $pattern = "/(?(DEFINE)(?<p1>BEGIN)(?<p2>END))((?&p1)|(?&p2))+/"; $subject = <<<EOF BEGIN something(); BEGIN if (false) echo "e"; END END EOF; $count = preg_match_all($pattern, $subject, $matches); var_dump($count, $matches);
You have javascript disabled. You will not be able to edit any code.