Получить части URL в PHP
Мне просто интересно, каким будет наилучший способ извлечения "параметров" из URL с использованием PHP.
Если я получил URL:
http://example.com/user/100
Как я могу получить идентификатор пользователя (100) с помощью PHP?
Ответы
Ответ 1
Чтобы быть точным, вы хотите начать с parse_url().
$parts=parse_url("http://example.com/user/100");
Это даст вам массив с горсткой ключей. То, что вы ищете, это path
.
Разделите путь на /
и возьмите последний.
$path_parts=explode('/', $parts['path']);
Ваш идентификатор теперь находится в $path_parts[count($path_parts)-1]
.
Ответ 2
Вы можете использовать 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() изо всех сил пытается их правильно проанализировать.
Ответ 3
$url = "http://example.com/user/100";
$parts = Explode('/', $url);
$id = $parts[count($parts) - 1];
Ответ 4
Я знаю, что это старый поток, но я думаю, что следующий ответ лучше:
basename(dirname(__FILE__))