- var_dump: documentation ( source)
- preg_match: documentation ( source)
<?php
function routedispatch_preg($path, $patterns) {
foreach ($patterns as $pattern) {
if (preg_match($pattern[0], $path)) {
return $pattern[1]();
}
}
}
function foo() { var_dump('foo dispatched.'); }
function bar() { var_dump('bar dispatched.'); }
$path = '/news/123';
$patterns = [
'news' => ['#^/news/?$#', 'foo'],
'newsid' => ['#^/news/(\d+)$#', 'bar']
];
routedispatch_preg($path, $patterns);