filter_var

(PHP 5 >= 5.2.0, PHP 7)

filter_varFiltra una variable con el filtro que se indique

Descripción

filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

Parámetros

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_BOOLEANFILTER_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(", "$value2);
    
$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'));
?>

Valores devueltos

Retorna los datos filtrados o FALSE si el filtro falla.

Ejemplos

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_URLFILTER_FLAG_PATH_REQUIRED));
?>

El resultado del ejemplo sería:

string(15) "[email protected]"
bool(false)

Ver también