- preg_match: documentation ( source)
<?php
function is_valid($string) {
return preg_match('~(\((?1)*+\)|\[(?1)*+]|{(?1)*+})*\z~A', $string);
}
$expressions = array(")(){}", "[]({})", "([])", "{()[]}", "([)]", "{()[]}{()[]}{()[]}{()[]}{()[]}");
foreach ($expressions as $expression) {
echo "$expression is " , is_valid($expression) , "\n";
}