(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Фильтрует переменную
value
Значение, которое требуется отфильтровать. Обратите внимание, что перед фильтрацией скалярные значения внутренне преобразовываются в строку.
filter
Идентификатор (ID) фильтра, который требуется применить. Страница «Типы фильтров» приводит список доступных фильтров.
Если параметр опустили, принимается значение по умолчанию FILTER_DEFAULT
, которое эквивалентно значению константы FILTER_UNSAFE_RAW
. В результате поведением по умолчанию становится отсутствие фильтрации.
options
Ассоциативный массив параметров или флаги через побитовое ИЛИ. Если фильтр принимает параметры, флаги можно указать в массиве в элементе "flags". Для фильтра "callback" требуется передать значение с типом callable. Фильтр "callback" должен принимать один аргумент, значение для фильтрации и возвращать значение после фильтрации или очистки.
<?php
// Формат для фильтров, которые принимают параметры
$options = array(
'options' => array(
'default' => 3, // Значение, которое вернётся при сбое фильтрации
Функция возвращает отфильтрованные данные или false
, если фильтрация не удалась.
Пример #1 Пример использования функции filter_var()
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
Результат выполнения приведённого примера:
string(15) "bob@example.com" bool(false)
Пример #2 Пример фильтрации массива
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
Результат выполнения приведённого примера:
array(3) { [0]=> string(15) "bob@example.com" [1]=> string(18) "test@example.local" [2]=> bool(false) }