(PHP 5 >= 5.2.0, PHP 7)
filter_var — Filtra una variable con el filtro que se indique
variable
Valor a filtrar
filter
El ID del filtro a aplicar. La página Tipos de filtros del manual enumera los filtros disponibles.
Si se omite, se utilizará FILTER_DEFAULT
, que es
equivalente a
FILTER_UNSAFE_RAW
.
Esto resultará en que no se realice ningún tipo de filtro de forma predeterminada.
options
Array asociativo de opciones o disyunción lógica de flags. Si un filtro acepta opciones, se pueden indicar flags en el campo "flags" del array. Para el filtro "callback" debería pasarse el tipo callable. La llamada de la función de retorno (callback) debe aceptar un argumento, el valor a ser filtrado y debe retornar el valor tras su filtrado/saneamiento.
<?php
// Para filtros que acepten opciones, usar este formato
$opciones = array(
'options' => array(
'default' => 3, // valor a retornar si el filtro falla
// más opciones aquí
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $opciones);
// Para filtros que únicamente acepten flags, se pueden pasar directametne
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
// Para filtros que únicamente acepten flags, también pueden pasarse como
// array
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));
// Filtro "callback2
function foo($value)
{
// Formato esperado: Apellido, Nombre
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'));
?>
Retorna los datos filtrados o FALSE
si el filtro falla.
Ejemplo #1 Un ejemplo de filter_var()
<?php
var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
El resultado del ejemplo sería:
string(15) "[email protected]" bool(false)