(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — Получает конкретную внешнюю переменную по имени и, если нужно, фильтрует значение переменной
type
Одна из констант INPUT_*.
Содержимое фильтруемых суперглобальных переменных – это исходное «сырое» содержимое, предоставленное SAPI, до внесения пользователем каких-либо изменений в суперглобальные переменные. Для фильтрации изменённого суперглобального содержимого используйте функцию filter_var().
var_name
Имя переменной для фильтрации внутри соответствующего типа (type) суперглобальных переменных.
filter
Фильтр, который необходимо применить.
Может быть фильтром проверки с помощью одной из констант FILTER_VALIDATE_*,
фильтром очистки с помощью одной из констант FILTER_SANITIZE_*,
FILTER_UNSAFE_RAW или пользовательским фильтром с помощью константы FILTER_CALLBACK.
Замечание:
По умолчанию используется
FILTER_DEFAULT, который является псевдонимомFILTER_UNSAFE_RAW. В результате по умолчанию фильтрация не производится.
options
Либо ассоциативный массив (array) опций,
либо битовая маска констант флагов фильтра FILTER_FLAG_*.
Если параметр filter принимает опции,
флаги могут быть предоставлены с помощью значения массива "flags".
В случае успешного выполнения функция возвращает значение запрошенной переменной,
значение false, если фильтр не пропустил значение,
или значение null, если переменная var_name не установлена.
Если задан флаг FILTER_NULL_ON_FAILURE,
функция возвращает значение false, когда переменная не установлена,
и значение null, когда фильтр не пропустил значение.
Пример #1 Пример использования функции filter_input()
<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "Вы искали $search_html.\n";
echo "<a href='?search=$search_url'>Искать снова.</a>";
?>Вывод приведённого примера будет похож на:
Вы искали Me & son. <a href='?search=Me%20%26%20son'>Искать снова.</a>
FILTER_VALIDATE_*
FILTER_SANITIZE_*