(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_var — Filtra una variable con el filtro que se indique
Filtra una variable usando un filtro de validación
FILTER_VALIDATE_*
,
un filtro de saneamiento
FILTER_SANITIZE_*
,
o un filtro definido por el usuario.
value
Valores escalares son convertidos a string internamente antes de ser filtrados.
filter
FILTER_VALIDATE_*
,
un filtro de saneamiento usando una de las constantes
FILTER_SANITIZE_*
o FILTER_UNSAFE_RAW
, o un filtro personalizado usando
FILTER_CALLBACK
.
Nota: Por omisión es
FILTER_DEFAULT
, que es un alias deFILTER_UNSAFE_RAW
. Esto resultará en que no se aplique ningún filtro por omisión.
options
FILTER_FLAG_*
.
Si el filter
acepta opciones,
los indicadores pueden ser proporcionados usando el campo "flags"
del array.
En caso de éxito devuelve la variable filtrada.
En caso de fallo se devuelve false
,
a menos que se use el flag FILTER_NULL_ON_FAILURE
,
en cuyo caso se devuelve null
.
Ejemplo #1 Ejemplo 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));
?>
El resultado del ejemplo sería:
string(15) "bob@example.com" bool(false)
Ejemplo #2 Example validating entries of an array
<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];
var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>
El resultado del ejemplo sería:
array(3) { [0]=> string(15) "bob@example.com" [1]=> string(18) "test@example.local" [2]=> bool(false) }
Ejemplo #3 Ejemplo de pasar un array para 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));
?>
El resultado del ejemplo sería:
int(493) bool(false)
Ejemplo #4 Proporcionar flags directamente o vía un 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]));
?>
El resultado del ejemplo sería:
NULL NULL
FILTER_VALIDATE_*
FILTER_SANITIZE_*