<?php
// CHANGE THIS
$url = '/12345/product';
$routes = [
'primary' => [
'pattern' => '#/(?P<resource>[^/\\\\.,;?\n]+)/foobar#',
'default' => [
'action' => 'standard',
],
],
'secundary' => [
'pattern' => '#^/(?P<id>[0-9]+)(?:/(?P<resource>[^/\\\\.,;?\n]+)(?:/(?P<action>[^/\\\\.,;?\n]+))?)?$#',
'default' => [
'resource' => 'catalog',
'action' => 'view',
]
],
'fallback' => [
'pattern' => '#^.*$#',
'default' => [
'resource' => 'main',
'action' => 'landing',
],
],
];
$current = null;
// matching the route
foreach ($routes as $name => $route) {
echo "$name\t\t";
$matches = [];
if ( preg_match( $route['pattern'], $url, $matches ) ) {
$current = $name;
$matches = $matches + $route['default'];
break;
}
}
// cleaning up results
foreach ( array_keys($matches) as $key ) {
if ( is_numeric($key) ) {
unset( $matches[$key] );
}
}
// view results
echo "\n";
var_dump( $current, [4,6]]+[1,2] );
- Output for 7.0.0 - 7.0.2
- Parse error: syntax error, unexpected ']', expecting ',' or ')' in /in/NkJLB on line 54
Process exited with code 255. - Output for 5.5.24 - 5.5.31, 5.6.8 - 5.6.17
- Parse error: syntax error, unexpected ']' in /in/NkJLB on line 54
Process exited with code 255.
preferences:
175.76 ms | 1395 KiB | 28 Q