parse_url
Разбирает адрес на части.
Синтаксис
parse_url(string $url, int $component = -1): int|string|array|null|falseПараметры
| Параметр | Тип | Описание |
|---|---|---|
| $url | string | Адрес. |
| $component | int | Необязательный. Какую часть вернуть: `PHP_URL_HOST`, `PHP_URL_PATH`, `PHP_URL_QUERY`. |
Возвращаемое значение
int|string|array|null|falseМассив частей или одна часть.
Примеры
Отдельные части адреса:
<?php
$url = 'https://example.com/products/tea?page=2';
echo parse_url($url, PHP_URL_HOST), "\n";
echo parse_url($url, PHP_URL_PATH), "\n";
echo parse_url($url, PHP_URL_QUERY);Результат:
example.com
/products/tea
page=2Параметры в массив:
<?php
parse_str(parse_url('https://example.com/?q=tea&page=2', PHP_URL_QUERY), $params);
echo json_encode($params);Результат:
{"q":"tea","page":"2"}Примечания
Функция не проверяет, правильный ли адрес. Для проверки используйте filter_var($url, FILTER_VALIDATE_URL).
См. также
- http_build_query — Собирает из массива строку параметров для адреса.
- urlencode — Кодирует строку для вставки в адрес.
- basename — Возвращает последнюю часть пути — имя файла.
Вопросы и ответы по теме
В учебнике
- Запросы и ответы HTTP — Как PHP получает запрос и формирует ответ — метод и адрес запроса, заголовки, коды состояния, перенаправление и ответ в JSON.