<?php
$pathInfo = 'store/view/14342/galaxy-s10-lite-sm-g770-8gb';
$routes = [
'store/{id}/{pid}' => ['home/store', ['id', 'exuo', 'pid']],
'store/{id}' => ['home/store', ['id']],
'store/view/{id}/{name}' => ['home/store', ['id', 'name']], // pathInfo should match this route
];
function findRoute(array $routes, string $pathInfo): ?string
{
foreach (array_keys($routes) as $routePath) {
$pattern = '~^' . preg_replace('/{.*?}/', '[^/]+', $routePath) . '$~';
if (preg_match($pattern, $pathInfo)) {
return $routePath;
}
}
return null;
}
echo findRoute($routes, $pathInfo);
preferences:
26.28 ms | 406 KiB | 5 Q