Получить части URL в PHP - PullRequest
       16

Получить части URL в PHP

10 голосов
/ 08 августа 2011

Мне просто интересно, каким будет наилучший способ извлечения "параметров" из URL с использованием PHP.

Если я получил URL:

http://example.com/user/100

Как я могу получить идентификатор пользователя (100) с помощью PHP?

Ответы [ 4 ]

16 голосов
/ 08 августа 2011

Чтобы быть точным, вы должны начать с parse_url () .

$parts=parse_url("http://example.com/user/100");

. Это даст вам массив с несколькими ключами.Тот, который вы ищете: path.

Разделите путь на / и возьмите последний.

$path_parts=explode('/', $parts['path']);

Ваш идентификатор сейчас $path_parts[count($path_parts)-1].

6 голосов
/ 08 августа 2011

Вы можете использовать parse_url(), т. Е .:

$parts = parse_url("http://x.com/user/100");
$path_parts= explode('/', $parts[path]);
$user = $path_parts[2];
echo $user; 
# 100

parse_url()

Эта функция анализирует URL и возвращает ассоциативный массив, содержащий любой из различных компонентов URL, которые присутствуют. Ценности элементов массива не декодируются URL.

Эта функция не предназначена для проверки заданного URL, она только ломает его в перечисленные выше части. Частичные URL также принято, parse_url () изо всех сил пытается их правильно проанализировать.

2 голосов
/ 08 августа 2011
$url = "http://example.com/user/100";
$parts = Explode('/', $url);
$id = $parts[count($parts) - 1];
1 голос
/ 07 мая 2017

Я знаю, что это старая тема, но я думаю, что следующий ответ является лучшим: basename(dirname(__FILE__))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...