@krispey15

PHP как правильно написать регулярное выражение для обработки url?

Есть ссылка ввида (код в ссылке может быть любой, но состоит из больших букв, цифр и тире)
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/

В обработчике адресов стоит следующее:
0 =>
     array(
         'CONDITION' => "#^/([A-Z0-9-]+)/#",
         'PATH' => '/forms/index.php',
     ),

Как правильно прописать регулярку чтобы в это правило не попадали url вида
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/test
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/123
https://site.ru/AF9229EF-8S26-VGJ1-B42K-004F4FC964BD/123/4321643

и подобные (подпути)?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 2
SagePtr
@SagePtr
Еда - это святое
Если ловить обязательно такого вида (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx), то так:
https:\/\/site.ru\/[0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12}\/$

Возможно, A-Z стоит заменить на A-F, т.к. очень похоже на GUID, где символы не произвольные, а 16-ричные "цифры".
Ответ написан
erge
@erge
Примус починяю
https:\/\/site.ru\/[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\/$


пример на regex101
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
iMedved2009
@iMedved2009
Не люблю людей
fzfx
@fzfx
18,5 дм
#^/([A-Z0-9-]+)/$#
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы