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
обязательный
$component
int
необязательный
= -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. |

