Очищаючі фільтри

Список фільтрів, що очищають

ИдентификаторИмяФлагиОпис
FILTER_SANITIZE_EMAIL"email"Видаляє символи, окрім букв, цифр та символів ``!#$%&'*+-=?^_`{
FILTER_SANITIZE_ENCODED"encoded"FILTER_FLAG_STRIP_LOWFILTER_FLAG_STRIP_HIGHFILTER_FLAG_STRIP_BACKTICKFILTER_FLAG_ENCODE_LOWFILTER_FLAG_ENCODE_HIGHКодує рядок у формат URL і, якщо потрібно, видаляє або кодує спеціальні символи.
FILTER_SANITIZE_MAGIC_QUOTES"magic_quotes"Застосовує функцію addslashes(). ЗАСТАРІЛА з PHP 7.3.0 та ВИДАЛЕНО з PHP 8.0.0, замість неї вказують FILTER_SANITIZE_ADD_SLASHES
FILTER_SANITIZE_ADD_SLASHES"add_slashes"Застосовує функцію addslashes(). . (Доступно з PHP 7.3.0.)
FILTER_SANITIZE_NUMBER_FLOAT"number_float"FILTER_FLAG_ALLOW_FRACTIONFILTER_FLAG_ALLOW_THOUSANDFILTER_FLAG_ALLOW_SCIENTIFICВидаляє символи, крім цифр, +- і якщо потрібно, то і .,eE
FILTER_SANITIZE_NUMBER_INT"number_int"Видаляє символи, окрім цифр та знаків плюса та мінуса.
FILTER_SANITIZE_SPECIAL_CHARS"special_chars"FILTER_FLAG_STRIP_LOWFILTER_FLAG_STRIP_HIGHFILTER_FLAG_STRIP_BACKTICKFILTER_FLAG_ENCODE_HIGHКодує символи '"<>& та символи з ASCII-кодом менше 32 у HTML-сутності, і, якщо потрібно, видаляє або кодує інші спеціальні символи.
FILTER_SANITIZE_FULL_SPECIAL_CHARS"full_special_chars"FILTER_FLAG_NO_ENCODE_QUOTESЕквівалент виклику функції htmlspecialchars()с параметром**ENT_QUOTES**. . Кодування лапок відключають установкою прапора FILTER_FLAG_NO_ENCODE_QUOTES. . Як і функція htmlspecialchars(), цей фільтр враховує директиву default_charset, і якщо в послідовності байтів буде виявлено неприпустимий для поточного кодування символ, весь рядок буде забракована, а результатом буде рядок нульової довжини. При встановленні цього фільтра як фільтр за замовчуванням враховують попередження, яке викладено нижче, воно розповідає про встановлення прапорів за умовчанням значення 0.
FILTER_SANITIZE_STRING"string"FILTER_FLAG_NO_ENCODE_QUOTESFILTER_FLAG_STRIP_LOWFILTER_FLAG_STRIP_HIGHFILTER_FLAG_STRIP_BACKTICKFILTER_FLAG_ENCODE_LOWFILTER_FLAG_ENCODE_HIGHFILTER_FLAG_ENCODE_AMPВидаляє теги та кодує подвійні та одинарні лапки, а якщо потрібно, видаляє або кодує спеціальні символи. Кодування лапок можна вимкнути, встановивши FILTER_FLAG_NO_ENCODE_QUOTES. . (Оголошено застарілим починаючи з PHP 8.1.0, використовуйте замість нього функцію htmlspecialchars()
FILTER_SANITIZE_STRIPPED"stripped"Псевдонім фільтра "string". (Оголошено застарілим починаючи з PHP 8.1.0, використовуйте замість нього функцію htmlspecialchars()
FILTER_SANITIZE_URL"url"Видаляє символи, окрім букв, цифр і ``$-_.+!*'(),{}
FILTER_UNSAFE_RAW"unsafe_raw"FILTER_FLAG_STRIP_LOWFILTER_FLAG_STRIP_HIGHFILTER_FLAG_STRIP_BACKTICKFILTER_FLAG_ENCODE_LOWFILTER_FLAG_ENCODE_HIGHFILTER_FLAG_ENCODE_AMPНе діє, і, якщо потрібно, видаляє або кодує спеціальні символи. Цей фільтр - псевдонім фільтра FILTER_DEFAULT

Увага

Якщо або в ini-файлі, або в конфігурації веб-сервера один із цих фільтрів вказаний як фільтр за замовчуванням, прапором за замовчуванням для нього буде значення **FILTER_FLAG_NO_ENCODE_QUOTES**Необходимо явно установить параметру filter.default_flags значення 0, щоб за замовчуванням лапки кодувалися. Ось так:

Приклад #1 Налаштування стандартного фільтра для роботи аналогічно функції htmlspecialchars

Loading...

список змін

ВерсияОпис
8.1.0Фільтри FILTER_SANITIZE_STRING і FILTER_SANITIZE_STRIPPED оголошено застарілими.
8.0.0Вилучено фільтр FILTER_SANITIZE_MAGIC_QUOTES
7.3.0Як заміна FILTER_SANITIZE_MAGIC_QUOTES додано фільтр FILTER_SANITIZE_ADD_SLASHES
7.3.0Фильтр**FILTER_SANITIZE_MAGIC_QUOTES** оголошено застарілим.