(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.
valueValores escalares são convertidos para strings internamente antes de serem filtrados.
filterFILTER_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.
optionsFILTER_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_*