filter_var
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtra uma variável com um filtro especificado
Parâmetros
value
-
Valor para filtrar. Observe que valores escalares são convertidos para strings internamente antes de serem filtrados.
filter
-
O ID do filtro a ser aplicado. A página do manual Tipos de filtros lista os filtros disponíveis.
Se omitido,
FILTER_DEFAULT
será usado, que é equivalente aFILTER_UNSAFE_RAW
. Isso resultará em nenhuma filtragem ocorrendo por padrão. options
-
Array associativo de opções ou disjunção binária de opções. Se o filtro aceitar opções, elas podem ser fornecidas no campo "flags" do array. Para um filtro de função de retorno, um tipo callable deve ser passado. Esta função precisa aceitar um argumento, o valor a ser filtrado, e retornar o valor depois de filtrá-lo ou sanitizá-lo.
<?php // Para filtros que aceitam opções, use este formato $options = array( 'options' => array( 'default' => 3, // valor a retornar se o filtro falhar // outras opções aqui 'min_range' => 0 ), 'flags' => FILTER_FLAG_ALLOW_OCTAL, ); $var = filter_var('0755', FILTER_VALIDATE_INT, $options); // Para filtros que aceitam somente opções, pode-se passá-las diretamente $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); // Para filtros que aceitam somente opções, pode-se também passá-las como um array $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, array('flags' => FILTER_NULL_ON_FAILURE)); // função de retorno de validação de filtro function foo($value) { // Formato esperado: Sobrenome ($surname), Nomes ($givennames) if (strpos($value, ", ") === false) return false; list($surname, $givennames) = explode(", ", $value, 2); $empty = (empty($surname) || empty($givennames)); $notstrings = (!is_string($surname) || !is_string($givennames)); if ($empty || $notstrings) { return false; } else { return $value; } } $var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo')); ?>
Valor Retornado
Retorna o dado filtrado, ou false
se o filtro falhar.
Exemplos
Example #1 Um exemplo de filter_var()
<?php
var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('example.com', FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED));
?>
O exemplo acima produzirá:
string(15) "[email protected]" bool(false)
Example #2 Exemplo de um filtro de um array
<?php
$emails = [
"[email protected]",
"[email protected]",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
O exemplo acima produzirá:
array(3) { [0]=> string(15) "[email protected]" [1]=> string(18) "[email protected]" [2]=> bool(false) }
Veja Também
- filter_var_array() - Obtêm múltiplas variáveis e opcionalmente as filtra
- filter_input() - Obtém uma variável externa específica por nome e filtra-a opcionalmente
- filter_input_array() - Obtem variáveis externas e opcionalmente as filtra
- Tipos de filtros