WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

esc_url_raw()WP 2.8.0

Очищает URL для безопасного использования в запросе к БД, при редиректах и HTTP запросах. Не очищает для безопасного вывода на экран.

Не используйте эту функцию, если УРЛ выводится в HTML коде (на экран), используйте esc_url() - она заменяет HTML сущности - это защитит от XSS атак.

У этой функции также есть алиас (копия) - sanitize_url(). В некоторых контекстах для лучшей читаемости кода лучше использовать её.

Работает на основе: esc_url()
1 раз — 0.000071 сек (очень быстро) | 50000 раз — 1.60 сек (быстро)

Хуков нет.

Возвращает

Строку. Вернет пустую строку, если в УРЛ указан неуказанный в $protocols протокол.

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

esc_url_raw( $url, $protocols );
$url(строка) (обязательный)
УРЛ, который нужно очистить.
$protocols(массив)
Массив допустимых протоколов. Если не установлено, то: http, https, ftp, ftps, mailto, news, irc, gopher, nntp, feed, telnet.
По умолчанию: null

Примеры

0

#1 Демонстрация работы

echo esc_url_raw( '//example.com/foo?bar' ); // //example.com/foo?bar
echo esc_url_raw( '/example.com/foo?bar' );  // /example.com/foo?bar
echo esc_url_raw( '/example/foo?bar' );      // /example/foo?bar
echo esc_url_raw( '/' );                     // /

echo esc_url_raw( 123 );   // http://123
echo esc_url_raw( '123' ); // http://123

var_dump( esc_url_raw( '' ) );    // string(0) ""
var_dump( esc_url_raw( false ) ); // string(0) ""
var_dump( esc_url_raw( null ) );  // string(0) ""
var_dump( esc_url_raw( [] ) );    // string(0) ""

$url = 'http://example.com?foo=<script>/some</script>';
echo esc_url_raw( $url ); // http://example.com?foo=script/some/script
echo esc_url( $url );     // http://example.com?foo=script/some/script
0

#2 Очистка УРЛ перед использованием в запросе

$url = 'http://example.com';
$response = wp_remote_get( esc_url_raw( $url ) ); // не нужно очищать сущности
if ( ! is_wp_error( $response ) ) {
	echo wp_remote_retrieve_body( $response );
}
0

#3 Неправильное использование

<!-- ОШИБКА! Нужно использовать esc_url()! -->
<img src='<?php echo esc_url_raw( $url ); ?>' />
<a href='<?php echo esc_url_raw( $url ); ?>'>Example</a>

Заметки

Список изменений

С версии 2.8.0 Введена.
С версии 6.1.0 Turned into an alias for sanitize_url().

Код esc_url_raw() WP 6.5.2

function esc_url_raw( $url, $protocols = null ) {
	return sanitize_url( $url, $protocols );
}
2 комментария
    Войти