- preg_match: documentation ( source)
<?php
if (preg_match('/^(?P<base>[^[]+)(?P<extra>(\[.*)|$)/', 'foo[bar][baz]', $m)) {
$segments = array($m['base']);
while (preg_match('/^\[(?P<segment>.*?)\](?P<extra>.*)$/', $m['extra'], $m)) {
echo $m['segment']."\n";
}
}