<?php
$r="user/username/{name}/id/{id}/age/{age}/profile";
$u="user/username/joe/id/99/age/33/profile";
route::match($r, $u);
class route{
public static function match($route, $url)
{
if(strpos($route, '{')===FALSE) {
{
return TRUE;
}
return FALSE;
}
$vars=[];
$umatches=[];
foreach ($bmatches[1] as $key => $value)
{
}
$i=0;
foreach ($umatches as $key => $value) {
$value='/'.$value.'/';
$url=$r[1];
$i++;
}
$params=[];
for ($i=0; $i < sizeof($matches[1]); $i++) { $params[$matches[1][$i]]=$vars[$i];
}
return $params;
}
}
PD9waHAKCiRyPSJ1c2VyL3VzZXJuYW1lL3tuYW1lfS9pZC97aWR9L2FnZS97YWdlfS9wcm9maWxlIjsKCiR1PSJ1c2VyL3VzZXJuYW1lL2pvZS9pZC85OS9hZ2UvMzMvcHJvZmlsZSI7Cgpyb3V0ZTo6bWF0Y2goJHIsICR1KTsKCWNsYXNzIHJvdXRlewoJCQoJCQoJCQoJCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbWF0Y2goJHJvdXRlLCAkdXJsKQoJCXsKCQlpZihzdHJwb3MoJHJvdXRlLCAneycpPT09RkFMU0UpCgkJewoJCQlpZihzdHJjbXAoJHJvdXRlLCAkdXJsKT09MCkKCQkJewoJCQkJcmV0dXJuIFRSVUU7CgkJCX0KCQkJcmV0dXJuIEZBTFNFOwoJCX0KCQkkdmFycz1bXTsKCQkkdW1hdGNoZXM9W107CgoJCXByZWdfbWF0Y2hfYWxsKCcvXHsoLio/KVx9LycsICRyb3V0ZSwgJG1hdGNoZXMpOwoKCQlwcmVnX21hdGNoKCcvKC4qPylcey8nLCAkcm91dGUsICRhbWF0Y2hlcyk7CgoJCXByZWdfbWF0Y2hfYWxsKCcvXH0oLio/KVx7LycsICRyb3V0ZSwgJGJtYXRjaGVzKTsKCgkJJGE9cHJlZ19zcGxpdChlbmQoJGJtYXRjaGVzWzFdKSwgJHJvdXRlKTsKCgkJJGI9cHJlZ19zcGxpdCgnL1x9KC4qPykvJywgJGFbMV0pOwoKCQlhcnJheV9wdXNoKCR1bWF0Y2hlcywgJGFtYXRjaGVzWzFdKTsKCgkJZm9yZWFjaCAoJGJtYXRjaGVzWzFdIGFzICRrZXkgPT4gJHZhbHVlKSAKCQl7CgkJCWFycmF5X3B1c2goJHVtYXRjaGVzLCAkdmFsdWUpOwoJCX0KCgkJYXJyYXlfcHVzaCgkdW1hdGNoZXMsICRiWzFdKTsKCgkJJHBhdHRlcm49Ii8iLnN0cl9yZXBsYWNlKCcvJywgJ1wvJywgJGFtYXRjaGVzWzFdKS4iLyI7CgoJCSRzcGxpdD1wcmVnX3NwbGl0KCRwYXR0ZXJuLCAkdXJsKTsKCgkJJGk9MDsKCgkJZm9yZWFjaCAoJHVtYXRjaGVzIGFzICRrZXkgPT4gJHZhbHVlKSB7CgkJCSR2YWx1ZT1zdHJfcmVwbGFjZSgnLycsICdcLycsICR2YWx1ZSk7CgkJCSR2YWx1ZT0nLycuJHZhbHVlLicvJzsKCQkJJHI9cHJlZ19zcGxpdCgkdmFsdWUsICR1cmwpOwoJCQkkdXJsPSRyWzFdOwoJCQlpZigkaT4wKWFycmF5X3B1c2goJHZhcnMsICRyWzBdKTsKCQkJJGkrKzsKCQl9CgkJcHJpbnRfcigkdmFycyk7CgkKCQlpZihzaXplb2YoJG1hdGNoZXNbMV0pIT1zaXplb2YoJHZhcnMpKSByZXR1cm4gRkFMU0U7CgoJCSRwYXJhbXM9W107CgoJCWZvciAoJGk9MDsgJGkgPCBzaXplb2YoJG1hdGNoZXNbMV0pOyAkaSsrKSB7IAoJCQkkcGFyYW1zWyRtYXRjaGVzWzFdWyRpXV09JHZhcnNbJGldOwoJCX0KCQkKCQlwcmludF9yKCRwYXJhbXMpOwoJCXJldHVybiAkcGFyYW1zOwoJfQoJfQ==