Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!
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.
Estas constantes son usadas por filter_input() y filter_input_array().
INPUT_POST
(int)
INPUT_GET
(int)
INPUT_ENV
(int)
INPUT_SERVER
(int)
INPUT_SESSION
(int)
INPUT_REQUEST
(int)
FILTER_FLAG_NONE
(int)
FILTER_REQUIRE_SCALAR
(int)
FILTER_REQUIRE_ARRAY
(int)
FILTER_FORCE_ARRAY
(int)
FILTER_NULL_ON_FAILURE
(int)
null
en vez de false
en caso de fallo.
Utilizable con cualquier filtro de validación
FILTER_VALIDATE_*
.
FILTER_FLAG_STRIP_LOW
(int)
FILTER_FLAG_STRIP_HIGH
(int)
FILTER_FLAG_STRIP_BACKTICK
(int)
`
).
FILTER_FLAG_ENCODE_LOW
(int)
FILTER_FLAG_ENCODE_HIGH
(int)
FILTER_FLAG_ENCODE_AMP
(int)
&
.
FILTER_FLAG_NO_ENCODE_QUOTES
(int)
'
y "
)
no se codificarán.
FILTER_FLAG_EMPTY_STRING_NULL
(int)
null
.
FILTER_VALIDATE_BOOL
(int)
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
.
default
FILTER_VALIDATE_BOOLEAN
(int)
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)
Nota: Los valores string son recortados usando trim() antes de la validación.
default
min_range
max_range
FILTER_FLAG_ALLOW_OCTAL
(int)
0[0-7]+
).
FILTER_FLAG_ALLOW_HEX
(int)
0x[0-9a-fA-F]+
).
FILTER_VALIDATE_FLOAT
(int)
Nota: Los valores string son recortados usando trim() antes de la validación.
default
decimal
min_range
max_range
FILTER_FLAG_ALLOW_THOUSAND
(int)
,
),
que usualmente representan el separador de miles.
FILTER_VALIDATE_REGEXP
(int)
regexp
.
default
regexp
FILTER_VALIDATE_URL
(int)
default
FILTER_FLAG_SCHEME_REQUIRED
(int)
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)
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)
FILTER_FLAG_QUERY_REQUIRED
(int)
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:
.
Este filtro solo funciona en URLs ASCII. Esto significa que los Nombres de Dominio Internacionalizados (IDN) siempre serán rechazados.
FILTER_VALIDATE_DOMAIN
(int)
default
FILTER_FLAG_HOSTNAME
(int)
FILTER_VALIDATE_EMAIL
(int)
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.
default
FILTER_FLAG_EMAIL_UNICODE
(int)
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.
default
FILTER_FLAG_IPV4
(int)
FILTER_FLAG_IPV6
(int)
FILTER_FLAG_NO_RES_RANGE
(int)
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)
En caso de IPv4 corresponde a los siguientes rangos:
10.0.0.0/8
, 172.16.0.0/12
, 192.168.0.0/16
.
FD
o FC
.
FILTER_FLAG_GLOBAL_RANGE
(int)
Global
es True
.
Disponible a partir de PHP 8.2.0.
FILTER_VALIDATE_MAC
(int)
default
FILTER_UNSAFE_RAW
(int)
FILTER_FLAG_STRIP_*
y FILTER_FLAG_ENCODE_*
.
FILTER_DEFAULT
(int)
FILTER_UNSAFE_RAW
.
FILTER_SANITIZE_STRING
(int)
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
.
OBSOLETO a partir de PHP 8.1.0, use htmlspecialchars() en su lugar.
La forma en que este filtro elimina las etiquetas no es equivalente a strip_tags().
FILTER_SANITIZE_STRIPPED
(int)
FILTER_SANITIZE_STRING
.
OBSOLETO a partir de PHP 8.1.0, use htmlspecialchars() en su lugar.
FILTER_SANITIZE_ENCODED
(int)
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.
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)
ENT_QUOTES
establecido.
El comportamiento de codificación de comillas puede deshabilitarse usando el
flag de filtro FILTER_FLAG_NO_ENCODE_QUOTES
.
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)
[a-zA-Z]
),
dígitos ([0-9]
),
y los caracteres especiales
!#$%&'*+-=?^_`{|}~@.[]
.
FILTER_SANITIZE_URL
(int)
[a-zA-Z]
),
dígitos ([0-9]
),
y los caracteres especiales
$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=
.
FILTER_SANITIZE_NUMBER_INT
(int)
[0-9]
), y los signos de más (+
),
y menos (-
).
FILTER_SANITIZE_NUMBER_FLOAT
(int)
[0-9]
), signos de más (+
),
y menos (-
).
FILTER_FLAG_ALLOW_FRACTION
(int)
.
,
que usualmente representa el separador entre la parte entera
y fraccionaria.
FILTER_FLAG_ALLOW_THOUSAND
(int)
,
,
que usualmente representa el separador de miles.
FILTER_FLAG_ALLOW_SCIENTIFIC
(int)
e
y E
.
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)
FILTER_SANITIZE_MAGIC_QUOTES
(int)
FILTER_SANITIZE_ADD_SLASHES
.
OBSOLETO a partir de PHP 7.3.0 y ELIMINADO a partir de PHP 8.0.0.
FILTER_CALLBACK
(int)
options
como el valor asociado a
la clave 'options'
.
La función de filtrado debe tener la siguiente firma:
value
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
Este filtro no puede ser usado con ningún otro flag de filtro,
e.g. FILTER_NULL_ON_FAILURE
.
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!