filter_input

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

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

Описание

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

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

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