(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtra uma variável com um filtro especificado
Filtra uma variável usando filtros de validação
FILTER_VALIDATE_*
,
filtros de sanitização
FILTER_SANITIZE_*
,
ou um filtro customizado.
value
Valores escalares são convertidos para strings internamente antes de serem filtrados.
filter
FILTER_VALIDATE_*
,
um filtro de sanitização pelo uso de uma das constantes
FILTER_SANITIZE_*
ou de FILTER_UNSAFE_RAW
, ou um filtro cutomizado com o uso de
FILTER_CALLBACK
.
Nota: O padrão é
FILTER_DEFAULT
, que é um sinônimo deFILTER_UNSAFE_RAW
. Isto resultará em nenhuma filtragem por padrão.
options
FILTER_FLAG_*
.
Se filter
aceitar opções,
elas podem ser fornecidas pelo uso do campo "flags"
do array.
Em caso de sucesso, retorna os dados filtrados.
Em caso de falha, retorna false
,
a não ser que a opção FILTER_NULL_ON_FAILURE
seja usada,
neste caso retorna null
.
Exemplo #1 Um exemplo de filter_var()
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('https://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
O exemplo acima produzirá:
string(15) "bob@example.com" bool(false)
Exemplo #2 Exemplo de validação de entradas de um array
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
O exemplo acima produzirá:
array(3) { [0]=> string(15) "bob@example.com" [1]=> string(18) "test@example.local" [2]=> bool(false) }
Exemplo #3 Exemplo de passagem de um array em options
<?php
$options = [
'options' => [
'min_range' => 10,
],
'flags' => FILTER_FLAG_ALLOW_OCTAL,
];
var_dump(filter_var('0755', FILTER_VALIDATE_INT, $options));
var_dump(filter_var('011', FILTER_VALIDATE_INT, $options));
?>
O exemplo acima produzirá:
int(493) bool(false)
Exemplo #4 Fornecendo opções diretamente ou através de um array
<?php
$str = 'string';
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE));
var_dump(filter_var($str, FILTER_VALIDATE_BOOLEAN, ['flags' => FILTER_NULL_ON_FAILURE]));
?>
O exemplo acima produzirá:
NULL NULL
FILTER_VALIDATE_*
FILTER_SANITIZE_*