Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Constantes de Input

Estas constantes son usadas por filter_input() y filter_input_array().

INPUT_POST (int)
Variables POST.
INPUT_GET (int)
Variables GET.
Variables COOKIE.
INPUT_ENV (int)
Variables ENV.
INPUT_SERVER (int)
Variables SERVER.
INPUT_SESSION (int)
Variables SESSION. (Eliminado a partir de PHP 8.0.0; no estaba implementado previamente)
INPUT_REQUEST (int)
Variables REQUEST. (Eliminado a partir de PHP 8.0.0; no estaba implementado previamente)
Flags de filtros genéricos
FILTER_FLAG_NONE (int)
Sin flags.
FILTER_REQUIRE_SCALAR (int)
Flag usado para requerir un escalar como entrada.
FILTER_REQUIRE_ARRAY (int)
Flag usado para requerir ru la entrada sea un array.
FILTER_FORCE_ARRAY (int)
Este flag envuelve las entradas escalares en un array de un solo elemento para los filtros que operan en arrays.
FILTER_NULL_ON_FAILURE (int)
Devuelve null en vez de false en caso de fallo. Utilizable con cualquier filtro de validación FILTER_VALIDATE_*.
Flags para filtros de saneamiento
FILTER_FLAG_STRIP_LOW (int)
Elimina caracteres con un valor ASCII inferior a 32.
FILTER_FLAG_STRIP_HIGH (int)
Elimina caracteres con un valor ASCII superior a 127.
FILTER_FLAG_STRIP_BACKTICK (int)
Elimina los caracteres de acento grave (`).
FILTER_FLAG_ENCODE_LOW (int)
Codifica caracteres con un valor ASCII inferior a 32.
FILTER_FLAG_ENCODE_HIGH (int)
Codifica caracteres con un valor ASCII superior a 127.
FILTER_FLAG_ENCODE_AMP (int)
Codifica &.
FILTER_FLAG_NO_ENCODE_QUOTES (int)
Las comillas simples y dobles (' y ") no se codificarán.
FILTER_FLAG_EMPTY_STRING_NULL (int)
Si el saneamiento de un string resulta en un string vacío, convierte el valor a null.
Filtros de Validación
FILTER_VALIDATE_BOOL (int)
Devuelve true para "1", "true", "on", y "yes". Devuelve false para "0", "false", "off", "no", y "". El valor devuelto para valores no booleanos depende de FILTER_NULL_ON_FAILURE. Si está establecido, se devolverá null, de lo contrario se devolverá false.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Disponible a partir de PHP 8.0.0.
FILTER_VALIDATE_BOOLEAN (int)
Alias de FILTER_VALIDATE_BOOL. El alias estaba disponible antes de la introducción de su nombre canónico en PHP 8.0.0.
FILTER_VALIDATE_INT (int)
Valida cuando el valor es un entero, en caso de éxito es convertido al tipo int.

Nota: Los valores string son recortados usando trim() antes de la validación.

Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
min_range
El valor es válido solo si es mayor o igual al valor proporcionado.
max_range
El valor es válido solo si es menor o igual al valor proporcionado.
Flags opcionales
FILTER_FLAG_ALLOW_OCTAL (int)
Permite enteros en notación octal (0[0-7]+).
FILTER_FLAG_ALLOW_HEX (int)
Permite enteros en notación hexadecimal (0x[0-9a-fA-F]+).
FILTER_VALIDATE_FLOAT (int)
Valida cuando un valor es un float, en caso de éxito es convertido al tipo float.

Nota: Los valores string son recortados usando trim() antes de la validación.

Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
decimal
min_range
El valor es válido solo si es mayor o igual al valor proporcionado. Disponible a partir de PHP 7.4.0.
max_range
El valor es válido solo si es menor o igual al valor proporcionado. Disponible a partir de PHP 7.4.0.
Flags opcionales
FILTER_FLAG_ALLOW_THOUSAND (int)
Acepta commas (,), que usualmente representan el separador de miles.
FILTER_VALIDATE_REGEXP (int)
Valida un valor contra la expresión regular proporcionada por la opción regexp.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
regexp
Expresión regular compatible con Perl
FILTER_VALIDATE_URL (int)
Valida si el valor es una URL válida según » RFC 2396.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Optional Flags
FILTER_FLAG_SCHEME_REQUIRED (int)
Requiere que la URL contenga una parte de esquema (scheme).
Advertencia

OBSOLETO a partir de PHP 7.3.0 y ELIMINADO a partir de PHP 8.0.0. Esto es porque siempre es implícito por el filtro FILTER_VALIDATE_URL.

FILTER_FLAG_HOST_REQUIRED (int)
Requiere que la URL contenga una parte de host.
Advertencia

OBSOLETO a partir de PHP 7.3.0 y ELIMINADO a partir de PHP 8.0.0. Esto es porque siempre es implícito por el filtro FILTER_VALIDATE_URL.

FILTER_FLAG_PATH_REQUIRED (int)
Requiere que la URL contenga una parte de ruta.
FILTER_FLAG_QUERY_REQUIRED (int)
Requiere que la URL contenga una parte de consulta (query).
Advertencia

Una URL válida no puede especificar el protocolo HTTP (http://). Por lo tanto, se puede requerir una validación adicional para determinar si la URL usa un protocolo esperado, por ejemplo ssh:// o mailto:.

Advertencia

Este filtro solo funciona en URLs ASCII. Esto significa que los Nombres de Dominio Internacionalizados (IDN) siempre serán rechazados.

FILTER_VALIDATE_DOMAIN (int)
Valida si el nombre de dominio es válido según » RFC 952, » RFC 1034, » RFC 1035, » RFC 1123, » RFC 2732 y » RFC 2181.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Flags opcionales
FILTER_FLAG_HOSTNAME (int)
Requiere que los nombres de host comiencen con un carácter alfanumérico y contengan solo alfanuméricos o guiones.
FILTER_VALIDATE_EMAIL (int)
Valida si el valor es una dirección de correo electrónico "válida". La validación se realiza contra la sintaxis addr-spec en » RFC 822. Sin embargo, los comentarios, el plegado de espacios en blanco y los nombres de dominio sin puntos no son compatibles, y por lo tanto serán rechazados.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Flags opcionales
FILTER_FLAG_EMAIL_UNICODE (int)
Acepta caracteres Unicode en la parte local. Disponible a partir de PHP 7.1.0.
Advertencia

La validación de correo electrónico es compleja y la única forma real de confirmar que un correo electrónico es válido y existe es enviar un correo electrónico a la dirección.

FILTER_VALIDATE_IP (int)

Valida si el valor es una dirección IP válida.

Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Optional Flags
FILTER_FLAG_IPV4 (int)
Permite direcciones IPv4.
FILTER_FLAG_IPV6 (int)
Permite direcciones IPv6.
FILTER_FLAG_NO_RES_RANGE (int)
Deniega direcciones reservadas. Estas son las rangos marcados como Reserved-By-Protocol en » RFC 6890.

En caso de IPv4 corresponde a los siguientes rangos: 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 240.0.0.0/4.

Y para IPv6 corresponde a los siguientes rangos: ::1/128, ::/128, ::FFFF:0:0/96, FE80::/10.

FILTER_FLAG_NO_PRIV_RANGE (int)
Deniega direcciones privadas.

En caso de IPv4 corresponde a los siguientes rangos: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.

Estas son direcciones IPv6 que comienzan con FD o FC.
FILTER_FLAG_GLOBAL_RANGE (int)
Solo permite direcciones globales. Estas pueden ser encontradas en » RFC 6890 cuando el atributo Global es True. Disponible a partir de PHP 8.2.0.
FILTER_VALIDATE_MAC (int)
Valida cuando el valor es una dirección MAC.
Opciones disponibles
default
Valor a devolver en caso de fallo del filtro.
Filtros de saneamiento
FILTER_UNSAFE_RAW (int)
Este filtro no hace nada. Sin embargo, puede eliminar o codificar caracteres especiales si se usa junto con los flags de saneamiento de filtro FILTER_FLAG_STRIP_* y FILTER_FLAG_ENCODE_*.
FILTER_DEFAULT (int)
Alias de FILTER_UNSAFE_RAW.
FILTER_SANITIZE_STRING (int)
Este filtro elimina las etiquetas y codifica en HTML las comillas dobles y simples. Opcionalmente puede eliminar o codificar caracteres especificados si se usa junto con los flags de saneamiento de filtro FILTER_FLAG_STRIP_* y FILTER_FLAG_ENCODE_*. El comportamiento de codificación de comillas puede deshabilitarse usando el flag de filtro FILTER_FLAG_NO_ENCODE_QUOTES.
Advertencia

OBSOLETO a partir de PHP 8.1.0, use htmlspecialchars() en su lugar.

Advertencia

La forma en que este filtro elimina las etiquetas no es equivalente a strip_tags().

FILTER_SANITIZE_STRIPPED (int)
Alias de FILTER_SANITIZE_STRING.
Advertencia

OBSOLETO a partir de PHP 8.1.0, use htmlspecialchars() en su lugar.

FILTER_SANITIZE_ENCODED (int)
Este filtro codifica en URL un string. Opcionalmente puede eliminar o codificar caracteres especificados si se usa junto con los flags de saneamiento de filtro FILTER_FLAG_STRIP_* y FILTER_FLAG_ENCODE_*.
FILTER_SANITIZE_SPECIAL_CHARS (int)

Este filtro codifica en HTML ', ", <, >, & y los caracteres con un valor ASCII menor a 32.

Opcionalmente puede eliminar o codificar caracteres especificados si se usa junto con los flags de saneamiento de filtro FILTER_FLAG_STRIP_*, y puede codificar caracteres con un valor ASCII mayor a 127 usando FILTER_FLAG_ENCODE_HIGH.
FILTER_SANITIZE_FULL_SPECIAL_CHARS (int)
Este filtro es equivalente a llamar a htmlspecialchars() con ENT_QUOTES establecido. El comportamiento de codificación de comillas puede deshabilitarse usando el flag de filtro FILTER_FLAG_NO_ENCODE_QUOTES.
Advertencia

Igual que htmlspecialchars(), este filtro es consciente de la configuración INI default_charset. Si se detecta una secuencia de bytes que compone un carácter inválido en el conjunto de caracteres actual, se rechaza toda la cadena devolviendo como resultado en una cadena vacía.

FILTER_SANITIZE_EMAIL (int)
Sanea una cadena eliminando todo los caracteres excepto letras latinas ([a-zA-Z]), dígitos ([0-9]), y los caracteres especiales !#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_URL (int)
Sanea un string eliminando todos los caracteres excepto letras latinas ([a-zA-Z]), dígitos ([0-9]), y los caracteres especiales $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT (int)
Sanea una cadena eliminando todo los caracteres excepto dígitos ([0-9]), y los signos de más (+), y menos (-).
FILTER_SANITIZE_NUMBER_FLOAT (int)
Sanea una cadena eliminando todo los caracteres excepto dígitos ([0-9]), signos de más (+), y menos (-).
Optional Flags
FILTER_FLAG_ALLOW_FRACTION (int)
Acepta el carácter de punto ., que usualmente representa el separador entre la parte entera y fraccionaria.
FILTER_FLAG_ALLOW_THOUSAND (int)
Acepta el carácter de coma ,, que usualmente representa el separador de miles.
FILTER_FLAG_ALLOW_SCIENTIFIC (int)
Acepta números en notación científica permitiendo los caracteres e y E.
Advertencia

Si la FILTER_FLAG_ALLOW_FRACTION no es usada, entonces el separador decimal es eliminado, alterando el valor recibido.

<?php
$number
= '12.34';

var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
?>

El resultado del ejemplo sería:

string(4) "1234"
string(5) "12.34"
FILTER_SANITIZE_ADD_SLASHES (int)
Aplica addslashes() a la entrada. Disponible a partir de PHP 7.3.0.
FILTER_SANITIZE_MAGIC_QUOTES (int)
Alias de FILTER_SANITIZE_ADD_SLASHES.
Advertencia

OBSOLETO a partir de PHP 7.3.0 y ELIMINADO a partir de PHP 8.0.0.

Filtros definidos por el usuario
FILTER_CALLBACK (int)
Este filtro delega el filtrado a una función definida por el usuario. El callable es pasado a través del parámetro options como el valor asociado a la clave 'options'.

La función de filtrado debe tener la siguiente firma:

callback(string $value): mixed
value
El valor que está siendo filtrado.

Nota: El valor devuelto por la función de filtrado será el valor devuelto por la función de filtro invocada.

Ejemplo #1 Ejemplo de uso de FILTER_CALLBACK para validar un nombre de usuario

<?php
function validate_login($value): ?string
{
if (
strlen($value) >= 5 && ctype_alnum($value)) {
return
$value;
}
return
null;
}

$login = "Inic1oDeSesi0nValido";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);

$login = "Inic1o de sesión fa4lso";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>

El resultado del ejemplo sería:

string(20) "Inic1oDeSesi0nValido"
NULL
Advertencia

Este filtro no puede ser usado con ningún otro flag de filtro, e.g. FILTER_NULL_ON_FAILURE.

add a note

User Contributed Notes 1 note

up
7
shaman_master at list dot ru
4 years ago
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!
To Top