функция since 4.4.0

wp_parse_url()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

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

Описание

В разных версиях PHP URL без схемы, содержащие «:» в строке запроса, обрабатываются по-разному. Эта функция обходит такие различия.

Оригинал (английский)

Across various PHP versions, schemeless URLs containing a “:” in the query are being handled inconsistently. This function works around those differences.

Параметры

$url string обязательный
URL для разбора.
$component int необязательный = -1
Конкретный компонент, который нужно получить. Укажите нужный с помощью одной из предопределённых констант PHP. Значение по умолчанию — -1 (то есть вернуть все части в виде массива).

Возвращаемое значение

mixed

Исходный код

wp-includes/http.php:740

function wp_parse_url( $url, $component = -1 ) {
	$to_unset = array();
	$url      = (string) $url;

	if ( str_starts_with( $url, '//' ) ) {
		$to_unset[] = 'scheme';
		$url        = 'placeholder:' . $url;
	} elseif ( str_starts_with( $url, '/' ) ) {
		$to_unset[] = 'scheme';
		$to_unset[] = 'host';
		$url        = 'placeholder://placeholder' . $url;
	}

	$parts = parse_url( $url );

	if ( false === $parts ) {
		// Parsing failure.
		return $parts;
	}

	// Remove the placeholder values.
	foreach ( $to_unset as $key ) {
		unset( $parts[ $key ] );
	}

	return _get_component_from_parsed_url_array( $parts, $component );
}

История изменений

ВерсияОписание
4.7.0 The $component parameter was added for parity with PHP’s parse_url().
4.4.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.