filter_input

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_inputПолучает конкретную внешнюю переменную по имени и, если нужно, фильтрует значение переменной

Описание

filter_input(
    int $type,
    string $var_name,
    int $filter = FILTER_DEFAULT,
    array|int $options = 0
): mixed

Список параметров

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. В случае возникновения ошибки возвращается значение 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 &#38; son.
<a href='?search=Me%20%26%20son'>Искать снова.</a>

Смотрите также

  • filter_input_array() - Получает несколько переменных извне PHP и, при необходимости, фильтрует их
  • filter_var() - Фильтрует переменную
  • filter_var_array() - Принимает несколько переменных и, при необходимости, фильтрует их
  • Фильтры проверки: FILTER_VALIDATE_*
  • Фильтры очистки: FILTER_SANITIZE_*