esc_url()
Очищає УРЛ для використання в тексті, змінює неправильні та видаляє небезпечні символи.
Ця функція, на відміну від esc_url_raw(), готує рядок до виведення на екран.
Завжди використовуйте цю функцію, коли потрібно очистити УРЛи, наприклад, у тексті, атрибутах HTML тегів або деінде.
Функція створює символи як HTML сутностей. Змінює амперсанд &
і лапку , '
з їхньої сутності &
,.'
Уникайте УРЛів, у яких використовується потрібний протокол, тобто. УРЛ повинен починатися з одного з: http , https , ftp , ftps , mailto , news , irc , gopher , nntp , feed , telnet .
esc_url_raw()
(дуже швидко) | 50000 разів – 0.31 сек
(дуже швидко) |
PHP 7.1.2, WP 4.7.3
Хуки з функції
Повертає
Строку
. Очищений УРЛ.
Використання
$url = esc_url($url, $protocols, $_context);
-
$url
(рядок) (обов’язковий) - УРЛ, який потрібно очистити.
-
$protocols
(масив) -
Масив протоколів, що приймаються. За замовчуванням це:
http ,
https ,
ftp ,
ftps ,
mailto ,
news ,
irc ,
gopher ,
nntp ,
feed ,
telnet .
Типово: null -
$_context
(рядок) Як використовуватиметься УРЛ. Може бути:
display
– амперсанд ( & ) і лапки ( ‘ ), будуть замінені з їхньої сутності.''
(Порожній рядок) – стандартне очищення.db
– стандартне очищення.
Типово: ‘display’
Приклади
#1 Демонстрація очищення URL
echo esc_url("http://example.com/link?var='some&"); // http://example.com/link?var='some& echo esc_url( 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAD////////neHiwAAAAF3RST/+8RwZ==' ); // '' - порожня стрічка
#2 Відносний URL
echo esc_url('/foo'); //> /foo // АЛЕ echo esc_url('foo'); //> http://foo
#3 Порівняння з urlencode()
urlencode()
– кодує відданий рядок, щоб його можна було використовувати як частину URL (без домену). Якщо передати повністю URL, він стане неробочим.esc_url()
– обробляє URL повністю (не ламає його), піклується про безпечному виведенні URL на екран – видаляє або змінює URL деякі символи (зовсім не так як це робить urlencode()).
$url = "http://example.com/моє посилання?var='some&"; echo esc_url($url); // http://example.com/моє%20посилання?var='some& echo urlencode ($ url); // http%3A%2F%2Fexample.com%2F%D0%BC%D0%BE%D1%8F+%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0% 3Fvar%3D%27some%26
список змін
З версії 2.8.0 | Введено. |