parse_url

funkcja

Rozkłada URL na części: schemat, host, ścieżkę, query, fragment i inne. Zwraca tablicę asocjacyjną lub konkretny komponent.

parse_url(string $url, int $component = -1): int|string|array|null|false

parse_url analizuje podany URL i zwraca tablicę asocjacyjną z komponentami: scheme, host, port, user, pass, path, query, fragment. Nie każdy klucz musi istnieć — jeśli URL nie zawiera np. fragmentu, klucz fragment po prostu nie pojawi się w tablicy.

Jeśli chcesz tylko jeden składnik, podaj stałą jako drugi argument, np. PHP_URL_HOST, PHP_URL_QUERY, PHP_URL_PATH. Funkcja zwróci wtedy string (lub int dla PHP_URL_PORT), nie tablicę.

Uwaga: parse_url nie waliduje poprawności URL-a — sprawdza tylko strukturę. Do walidacji użyj filter_var($url, FILTER_VALIDATE_URL).

<?php
declare(strict_types=1);

$url = 'https://php.net/path?x=1#sekcja';

$czesci = parse_url($url);
print_r($czesci);
// Array (
//   [scheme] => https
//   [host]   => php.net
//   [path]   => /path
//   [query]  => x=1
//   [fragment] => sekcja
// )

// Tylko host:
$host = parse_url($url, PHP_URL_HOST);
echo $host; // wynik: php.net

// Tylko query string — przydatne przed parse_str():
$query = parse_url($url, PHP_URL_QUERY);
echo $query; // wynik: x=1
📘 Naucz się w lekcji →