Я пытаюсь настроить функции, используемые маршрутами, самостоятельно.
У меня есть URL-адрес, скажем,
$ url1 = / profile / user / 10 /
$ url2 = / profile / {some_variable} / settings / {some_integer}
Регулярное выражение для url1,
'/ profile / user / [0-9] + / $ / '
Регулярное выражение для url2
' / profile / [az] + / settings / [0-9] + / $ / '
Описание, я пытаюсь проверить, существует ли определенный URL-адрес в моей папке маршрутов, чего можно добиться с помощью preg_match () между url и регулярным выражением.
Я хочу получить значение '10' из
$ url1 = / profile / user / 10 /
и {some_variable}, {some_integer} из
$ url2 = / profile / {some_variable} / settings / {some_integer}
Чтобы я мог передать эти переменные в функции моего контроллера.
Пожалуйста, помогите.
Редактировать: у меня есть массив, который содержит регулярные выраженияПрименительно к URL-адресам. При обращении к URL-адресу я получаю этот URL-адрес и сопоставляю его в массиве, независимо от того, существует он или нет.Если это так, мне нужно получить переменные, используемые в URL.
Array (
[specific_user] => Array
(
[url] => /profile\/user\/[0-9]+\/$/
[className] => user
[methodName] => userinfo
)
[specific_user_check] => Array
(
[url] => /profile\/user\/[a-z]+\/$/
[className] => user
[methodName] => userinfo
)
[user_settings] => Array
(
[url] => /profile\/user\/settings\/$/
[className] => user
[methodName] => settings
) )
Здесь
$ myUrl = / profile / user / 10 /
если $ myUrl совпадает с регулярным выражением в массиве, мне нужно получить значение '10'.
Примечание: (. *) Каким-то образом используется для получения желаемого результата.