array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.filter-input.php', 1 => 'filter_input', ), 'up' => array ( 0 => 'ref.filter.php', 1 => 'Функции фильтрации данных', ), 'prev' => array ( 0 => 'function.filter-input-array.php', 1 => 'filter_input_array', ), 'next' => array ( 0 => 'function.filter-list.php', 1 => 'filter_list', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/filter/functions/filter-input.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_input — Принимает переменную извне PHP и, при необходимости, фильтрует её
type
Одна из констант INPUT_GET
, INPUT_POST
,
INPUT_COOKIE
, INPUT_SERVER
или
INPUT_ENV
.
var_name
Имя получаемой переменной.
filter
Идентификатор (ID) применяемого фильтра. На странице Типы фильтров приведён список доступных фильтров.
Если не указан, то принимает значение по умолчанию — FILTER_DEFAULT
, который
равнозначен значению константы FILTER_UNSAFE_RAW
.
То есть по умолчанию значение не фильтруется.
options
Ассоциативный массив параметров или логическое ИЛИ флагов. Если фильтр принимает параметры, флаги могут быть указаны в элементе массива "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>