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 Демонстрація роботи

$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Введено.

код esc_url_raw() WP 6.0.2

function esc_url_raw( $url, $protocols = null ) {
	return esc_url($url, $protocols, 'db');
}