(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
FILTER_FLAG_*
.
Если параметр filter
принимает опции,
флаги могут быть предоставлены с помощью значения массива "flags"
.
В случае успешного выполнения функция возвращает отфильтрованную переменную.
Если переменная не установлена, возвращается значение false
.
В случае возникновения ошибки возвращается значение false
,
только не используется флаг FILTER_NULL_ON_FAILURE
,
в этом случае возвращается значение 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_*