wp_parse_url()

Обертка для функции parse_url() в PHP, которая обеспечивает согласованность возвращаемых значений между версиями PHP
Функция WordPress
INT 4.4.0
WordPress Icon

Описание функции

Функция wp_parse_url() является оберткой для функции parse_url() в PHP и обеспечивает согласованность возвращаемых значений в разных версиях PHP. Она используется для разбора URL-адреса и возвращает различные компоненты URL-адреса в виде массива или строки.

Использование

wp_parse_url( string $url, int $component = -1 ): mixed

Функция wp_parse_url() принимает два параметра: $url (обязательный) — URL-адрес для разбора, и $component (необязательный) — определенный компонент для извлечения. По умолчанию возвращаются все части URL-адреса в виде массива.

  • $url (string) — Обязательный. URL-адрес для разбора.
  • $component (int) — Необязательный. Определенный компонент для извлечения. Используйте одну из предопределенных констант PHP для указания нужного компонента. По умолчанию возвращаются все части URL-адреса в виде массива. Значение по умолчанию: -1.

Функция возвращает различные компоненты URL-адреса в виде массива или строки. Если разбор URL-адреса не удался, возвращается значение false. Если запрошенный компонент не существует в указанном URL-адресе, возвращается значение null. Если компонент существует, возвращается строка или — в случае с PHP_URL_PORT — целое число. См. значения возвращаемых значений функции parse_url().

<?php
$url = 'https://example.com/path/?query=string#fragment';
// Разбор URL-адреса и получение всех компонентов в виде массива
$components = wp_parse_url( $url );
/*
Результат:
array(
  'scheme' => 'https',
  'host' => 'example.com',
  'path' => '/path/',
  'query' => 'query=string',
  'fragment' => 'fragment',
)
*/
// Получение только схемы URL-адреса
$scheme = wp_parse_url( $url, PHP_URL_SCHEME );
/*
Результат:
'https'
*/
// Получение только хоста URL-адреса
$host = wp_parse_url( $url, PHP_URL_HOST );
/*
Результат:
'example.com'
*/
// Получение только пути URL-адреса
$path = wp_parse_url( $url, PHP_URL_PATH );
/*
Результат:
'/path/'
*/
?>

Примеры использования

Парсинг URL-адреса с помощью функции wp_parse_url()


$url = 'https://example.com/path/?param1=value1&param2=value2';
// Используем функцию wp_parse_url() для разбора URL-адреса
$parsed_url = wp_parse_url($url);
// Выводим результаты разбора URL-адреса
print_r($parsed_url);

Результат:


Array
(
    [scheme] => https
    [host] => example.com
    [path] => /path/
    [query] => param1=value1&param2=value2
)

Функция wp_parse_url() разбирает URL-адрес и возвращает массив с его компонентами. В данном примере мы передаем URL-адрес «https://example.com/path/?param1=value1&param2=value2» в функцию wp_parse_url(). Результатом является массив, содержащий схему (scheme), хост (host), путь (path) и параметры запроса (query) URL-адреса.

Извлечение схемы из URL-адреса с помощью функции wp_parse_url()


$url = 'https://example.com/path/?param1=value1&param2=value2';
// Используем функцию wp_parse_url() для разбора URL-адреса
$parsed_url = wp_parse_url($url);
// Извлекаем схему из разобранного URL-адреса
$scheme = $parsed_url['scheme'];
// Выводим схему
echo $scheme;

Результат:


https

В данном примере мы используем функцию wp_parse_url() для разбора URL-адреса «https://example.com/path/?param1=value1&param2=value2». Затем мы извлекаем схему из разобранного URL-адреса, присваиваем ее переменной $scheme и выводим ее значение.

Получение хоста из URL-адреса с помощью функции wp_parse_url()


$url = 'https://example.com/path/?param1=value1&param2=value2';
// Используем функцию wp_parse_url() для разбора URL-адреса
$parsed_url = wp_parse_url($url);
// Извлекаем хост из разобранного URL-адреса
$host = $parsed_url['host'];
// Выводим хост
echo $host;

Результат:


example.com

В данном примере мы используем функцию wp_parse_url() для разбора URL-адреса «https://example.com/path/?param1=value1&param2=value2». Затем мы извлекаем хост из разобранного URL-адреса, присваиваем его переменной $host и выводим его значение.

Извлечение пути из URL-адреса с помощью функции wp_parse_url()


$url = 'https://example.com/path/?param1=value1&param2=value2';
// Используем функцию wp_parse_url() для разбора URL-адреса
$parsed_url = wp_parse_url($url);
// Извлекаем путь из разобранного URL-адреса
$path = $parsed_url['path'];
// Выводим путь
echo $path;

Результат:


/path/

В данном примере мы используем функцию wp_parse_url() для разбора URL-адреса «https://example.com/path/?param1=value1&param2=value2». Затем мы извлекаем путь из разобранного URL-адреса, присваиваем его переменной $path и выводим его значение.

Получение параметров запроса из URL-адреса с помощью функции wp_parse_url()


$url = 'https://example.com/path/?param1=value1&param2=value2';
// Используем функцию wp_parse_url() для разбора URL-адреса
$parsed_url = wp_parse_url($url);
// Извлекаем параметры запроса из разобранного URL-адреса
$query = $parsed_url['query'];
// Выводим параметры запроса
echo $query;

Результат:


param1=value1&param2=value2

В данном примере мы используем функцию wp_parse_url() для разбора URL-адреса «https://example.com/path/?param1=value1&param2=value2». Затем мы извлекаем параметры запроса из разобранного URL-адреса, присваиваем их переменной $query и выводим их значение.

Вопросы и ответы

Как получить все компоненты URL в виде массива?

Для получения всех компонентов URL в виде массива в WordPress используется функция wp_parse_url(). Она является оберткой для функции parse_url() в PHP и обеспечивает согласованность возвращаемых значений в разных версиях PHP.

Пример использования функции wp_parse_url():


$url = 'https://example.com/path/?query=string#fragment';
$components = wp_parse_url($url);
print_r($components);

Результат выполнения кода:


Array
(
    [scheme] => https
    [host] => example.com
    [path] => /path/
    [query] => query=string
    [fragment] => fragment
)

Как получить схему (scheme) URL?

Для получения схемы (scheme) URL в WordPress также используется функция wp_parse_url(). Для этого необходимо указать второй параметр функции — константу PHP_URL_SCHEME.

Пример использования функции wp_parse_url() для получения схемы URL:


$url = 'https://example.com/path/?query=string#fragment';
$scheme = wp_parse_url($url, PHP_URL_SCHEME);
echo $scheme;

Результат выполнения кода:


https

Как получить хост (host) URL?

Для получения хоста (host) URL в WordPress также используется функция wp_parse_url(). Для этого необходимо указать второй параметр функции — константу PHP_URL_HOST.

Пример использования функции wp_parse_url() для получения хоста URL:


$url = 'https://example.com/path/?query=string#fragment';
$host = wp_parse_url($url, PHP_URL_HOST);
echo $host;

Результат выполнения кода:


example.com

Как получить порт (port) URL?

Для получения порта URL используйте функцию wp_parse_url() с указанием второго параметра PHP_URL_PORT. Это позволит получить порт из URL.

$url = 'http://example.com:8080';
$port = wp_parse_url($url, PHP_URL_PORT);
echo $port; // 8080

Как получить путь (path) URL?

Для получения пути URL используйте функцию wp_parse_url() с указанием второго параметра PHP_URL_PATH. Это позволит получить путь из URL.

$url = 'http://example.com/path/to/page';
$path = wp_parse_url($url, PHP_URL_PATH);
echo $path; // /path/to/page

Как получить запрос (query) URL?

Для получения запроса URL используйте функцию wp_parse_url() с указанием второго параметра PHP_URL_QUERY. Это позволит получить запрос из URL.

$url = 'http://example.com/page?param1=value1&param2=value2';
$query = wp_parse_url($url, PHP_URL_QUERY);
echo $query; // param1=value1&param2=value2

Как получить фрагмент (fragment) URL?

Функция wp_parse_url() позволяет получить фрагмент URL. Для этого необходимо передать URL в качестве аргумента и указать константу PHP_URL_FRAGMENT вторым аргументом.


$url = 'https://example.com/page#section';
$fragment = wp_parse_url($url, PHP_URL_FRAGMENT);
echo $fragment; // Выведет 'section'

Как проверить, существует ли определенный компонент URL?

Чтобы проверить, существует ли определенный компонент URL, необходимо передать URL в качестве аргумента и указать константу PHP_URL_* вторым аргументом. Если компонент существует, функция вернет его значение, в противном случае вернется null.


$url = 'https://example.com/page';
$host = wp_parse_url($url, PHP_URL_HOST);
$path = wp_parse_url($url, PHP_URL_PATH);
if ($host) {
    echo 'Host exists: ' . $host;
}
if ($path) {
    echo 'Path exists: ' . $path;
}

Как получить определенный компонент URL в виде строки или числа?

Функция wp_parse_url() позволяет получить определенный компонент URL в виде строки или числа. Для этого необходимо передать URL в качестве аргумента и указать константу PHP_URL_* вторым аргументом.


$url = 'https://example.com:8080/page';
$port = wp_parse_url($url, PHP_URL_PORT);
echo 'Port: ' . $port; // Выведет '8080'

Функция wp_parse_url() является оберткой для функции parse_url() в PHP и обеспечивает согласованность возвращаемых значений в разных версиях PHP. Она позволяет получить фрагмент URL, проверить существование определенного компонента URL и получить его в виде строки или числа.

Связанные элементы

  • Функция add_query_arg(): добавляет параметры к URL.
  • Функция remove_query_arg(): удаляет параметры из URL.
  • Функция set_url_scheme(): устанавливает схему URL.
  • Функция wp_http_validate_url(): проверяет, является ли URL допустимым.
  • Функция wp_http_supports(): проверяет поддержку определенного протокола HTTP.
  • Функция wp_parse_args(): разбирает строку запроса в массив аргументов.
  • Функция wp_remote_get(): выполняет GET-запрос к удаленному серверу.
  • Хук http_api_debug: позволяет отладить HTTP-запросы.
  • Класс WP_Http: предоставляет методы для отправки HTTP-запросов.
Обсуждение