Может кто-нибудь сказать мне, как я это сделаю.У меня есть 3 строки.
$route = '/user/$1/profile/$2';
$path = '/user/profile/$1/$2';
$url = '/user/jason/profile/friends';
Что мне нужно сделать, это проверить, чтобы убедиться, что URL-адрес соответствует маршруту.Я пытаюсь сделать это следующим образом.
$route_segments = explode('/', $route);
$url_segments = explode('/', $url);
$count = count($url_segments);
for($i=0; $i < $count; $i++) {
if ($route_segments[$i] != $url_segments[$i] && ! preg_match('/\$[0-9]/', $route_segments[$i])) {
return false;
}
}
Я предполагаю, что регулярное выражение работает, это первое, что я когда-либо написал сам.: D
Вот где я застрял.Как сравнить следующие строки:
$route = '/user/$1/profile/$2';
$url = '/user/jason/profile/friends';
Итак, я получаю:
array (
'$1' => 'jason',
'$2' => 'friends'
);
Я предполагаю, что с этим массивом я мог бы затем str_replace эти значения в переменную $ path?