[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Потрошим URL
niksbitnev
Есть такой URL: http://phpforum.su/forum/post/
Как можно забрать в переменную только post (т.е. забираем последнюю "папку") ?
При этом код должен быть универсальным и не привязываться к /forum/

На выходе $cUrl = 'post';
Kusss
$url = 'http://phpforum.su/forum/post/';
preg_match('/\/(?<name>[a-z0-9_-]+)\/$/', $url, $matches);
echo $matches['name'];
miketomlin
Можно без регулярок. Простым делением с использованием известного разделителя. Пример кода: https://gency.ru/single-entry-point

Демка оттуда же: http://g09.ru/gency-demo-2/single-entry-point
miketomlin
P.S. В строке кода, обозначенной единицей, можно не использовать условие. Оно нужно для учета (т.е. чтобы не терять) адресов со знаком вопроса на конце.
Kusss
вот так кстати будет более правильно.
preg_match('/\/(?<name>[^\/.]+)\/$/', $url, $matches);


miketomlin
Странный ответ, а если это парсер ?
killer8080
$url = 'http://phpforum.su/forum/post/';
$parts = array_filter(explode('/', parse_url($url, PHP_URL_PATH)));
$cUrl = array_pop($parts);
miketomlin
Цитата (Kusss @ 9.08.2019 - 11:30)
Странный ответ, а если это парсер ?

Парсер чего? «Такого URL»? smile.gif
niksbitnev
Цитата (miketomlin @ 9.08.2019 - 10:48)
Можно без регулярок. Простым делением с использованием известного разделителя. Пример кода: https://gency.ru/single-entry-point

Демка оттуда же: http://g09.ru/gency-demo-2/single-entry-point

Спасибо! Забрал этот
Для меня идеальный вариант
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.