diff --git a/reference/filter/constants.callback.xml b/reference/filter/constants.callback.xml
new file mode 100644
index 000000000..e505188ce
--- /dev/null
+++ b/reference/filter/constants.callback.xml
@@ -0,0 +1,115 @@
+
+
+
+
+ Filtro definido por el usuario
+ &extension.constants;
+
+
+
+ FILTER_CALLBACK
+ (int)
+
+
+
+ Este filtro delega el filtrado a una función definida por el usuario.
+ El callable se pasa a través del
+ parámetro options como el valor asociado a
+ la clave 'options'.
+
+
+ La retrollamada debe tener la siguiente firma:
+
+ mixedcallback
+ stringvalue
+
+
+
+ value
+
+
+ El valor que está siendo filtrado.
+
+
+
+
+
+
+
+ El valor devuelto por la retrollamada será el valor devuelto por
+ la función de filtro invocada.
+
+
+
+
+ Ejemplo de uso de FILTER_CALLBACK para validar
+ un nombre de inicio de sesión
+
+
+= 5 && ctype_alnum($value)) {
+ return $value;
+ }
+ return null;
+}
+
+$login = "val1dL0gin";
+$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
+var_dump($filtered_login);
+
+$login = "f&ke login";
+$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
+var_dump($filtered_login);
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+ A partir de PHP 8.1.25 y 8.2.12, los flags estructurales
+ FILTER_REQUIRE_ARRAY,
+ FILTER_FORCE_ARRAY y
+ FILTER_REQUIRE_SCALAR se aplican a este filtro, y
+ FILTER_NULL_ON_FAILURE cambia la forma en que se
+ informa de tal fallo estructural. En versiones anteriores todos los flags
+ eran ignorados. Los flags específicos del filtro siempre son ignorados y,
+ dado que el valor devuelto por la retrollamada es el resultado, la
+ retrollamada en sí misma no puede fallar: ningún flag convierte un
+ false devuelto por la retrollamada en &null; o en una
+ excepción.
+
+
+
+
+
+
+
diff --git a/reference/filter/constants.flags.generic.xml b/reference/filter/constants.flags.generic.xml
new file mode 100644
index 000000000..4dca58a17
--- /dev/null
+++ b/reference/filter/constants.flags.generic.xml
@@ -0,0 +1,108 @@
+
+
+
+
+ Flags genéricos de filtro
+ &extension.constants;
+
+
+
+ FILTER_FLAG_NONE
+ (int)
+
+
+
+ Sin flags.
+
+
+
+
+
+ FILTER_REQUIRE_SCALAR
+ (int)
+
+
+
+ Flag utilizado para requerir que la entrada del filtro sea un escalar.
+
+
+
+
+
+ FILTER_REQUIRE_ARRAY
+ (int)
+
+
+
+ Flag utilizado para requerir que la entrada del filtro sea un array.
+
+
+
+
+
+ FILTER_FORCE_ARRAY
+ (int)
+
+
+
+ Este flag envuelve las entradas escalares en un array de un elemento
+ para filtros que operan sobre arrays.
+
+
+
+
+
+ FILTER_NULL_ON_FAILURE
+ (int)
+
+
+
+ Usar &null; en lugar de &false; en caso de fallo.
+
+
+ Utilizable con cualquier filtro de validación
+ FILTER_VALIDATE_*.
+
+
+
+
+
+ FILTER_THROW_ON_FAILURE
+ (int)
+
+
+
+ Lanza una Filter\FilterFailedException cuando un
+ filtro de validación falla, en lugar de devolver &false;.
+
+
+ Utilizable con cualquier filtro de validación
+ FILTER_VALIDATE_*.
+
+
+ Disponible a partir de PHP 8.5.0.
+
+
+
+
+
+
diff --git a/reference/filter/constants.flags.sanitization.xml b/reference/filter/constants.flags.sanitization.xml
new file mode 100644
index 000000000..64b42826f
--- /dev/null
+++ b/reference/filter/constants.flags.sanitization.xml
@@ -0,0 +1,120 @@
+
+
+
+
+ Flags de filtro de saneamiento
+ &extension.constants;
+
+
+
+ FILTER_FLAG_STRIP_LOW
+ (int)
+
+
+
+ Elimina caracteres con valor ASCII menor que 32.
+
+
+
+
+
+ FILTER_FLAG_STRIP_HIGH
+ (int)
+
+
+
+ Elimina caracteres con valor ASCII mayor que 127.
+
+
+
+
+
+ FILTER_FLAG_STRIP_BACKTICK
+ (int)
+
+
+
+ Elimina caracteres de comilla invertida (`).
+
+
+
+
+
+ FILTER_FLAG_ENCODE_LOW
+ (int)
+
+
+
+ Codifica caracteres con valor ASCII menor que 32.
+
+
+
+
+
+ FILTER_FLAG_ENCODE_HIGH
+ (int)
+
+
+
+ Codifica caracteres con valor ASCII mayor que 127.
+
+
+
+
+
+ FILTER_FLAG_ENCODE_AMP
+ (int)
+
+
+
+ Codifica &.
+
+
+
+
+
+ FILTER_FLAG_NO_ENCODE_QUOTES
+ (int)
+
+
+
+ Las comillas simples y dobles (' y ")
+ no serán codificadas.
+
+
+
+
+
+ FILTER_FLAG_EMPTY_STRING_NULL
+ (int)
+
+
+
+
+ Si el saneamiento de un string resulta en un string vacío,
+ convierte el valor a &null;
+
+
+
+
+
+
diff --git a/reference/filter/constants.input.xml b/reference/filter/constants.input.xml
new file mode 100644
index 000000000..4bc74a3c3
--- /dev/null
+++ b/reference/filter/constants.input.xml
@@ -0,0 +1,113 @@
+
+
+
+
+ Constantes de entrada
+ &extension.constants;
+
+ Estas constantes son utilizadas por
+ filter_input y
+ filter_input_array.
+
+
+
+
+ INPUT_POST
+ (int)
+
+
+
+ Variables POST.
+
+
+
+
+
+ INPUT_GET
+ (int)
+
+
+
+ Variables GET.
+
+
+
+
+
+ INPUT_COOKIE
+ (int)
+
+
+
+ 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)
+
+
+
+
+
+
diff --git a/reference/filter/constants.sanitization.xml b/reference/filter/constants.sanitization.xml
new file mode 100644
index 000000000..c2ab9565b
--- /dev/null
+++ b/reference/filter/constants.sanitization.xml
@@ -0,0 +1,327 @@
+
+
+
+
+ Filtros de saneamiento
+ &extension.constants;
+
+
+
+ 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; FILTER_UNSAFE_RAW.
+
+
+
+
+
+ FILTER_SANITIZE_STRING
+ (int)
+
+
+
+ Este filtro elimina etiquetas y codifica en HTML 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 desactivarse 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 etiquetas no es equivalente a
+ strip_tags.
+
+
+
+
+
+
+ FILTER_SANITIZE_STRIPPED
+ (int)
+
+
+
+ &Alias; FILTER_SANITIZE_STRING.
+
+
+
+ Obsoleto a partir de PHP 8.1.0,
+ use htmlspecialchars en su lugar.
+
+
+
+
+
+
+ FILTER_SANITIZE_ENCODED
+ (int)
+
+
+
+ Este filtro codifica una cadena en URL.
+
+
+ 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 caracteres con un valor ASCII menor que 32.
+ A diferencia del filtro FILTER_SANITIZE_FULL_SPECIAL_CHARS, el
+ filtro FILTER_SANITIZE_SPECIAL_CHARS ignora el
+ flag FILTER_FLAG_NO_ENCODE_QUOTES.
+
+
+ Opcionalmente puede eliminar caracteres especificados si se usa junto con
+ los flags de saneamiento de filtro FILTER_FLAG_STRIP_*,
+ y puede codificar caracteres con valor ASCII
+ mayor que 127 usando FILTER_FLAG_ENCODE_HIGH.
+
+
+
+
+
+ FILTER_SANITIZE_FULL_SPECIAL_CHARS
+ (int)
+
+
+
+ Este filtro es equivalente a llamar a htmlspecialchars
+ con ENT_QUOTES configurado.
+
+
+ El comportamiento de codificación de comillas puede desactivarse usando el
+ flag de filtro FILTER_FLAG_NO_ENCODE_QUOTES.
+
+
+
+ Al igual que htmlspecialchars, este filtro es consciente de la
+ configuración INI default_charset.
+ Si se detecta una secuencia de bytes que forma un carácter no válido
+ en el juego de caracteres actual, entonces toda la cadena es rechazada
+ resultando en que se devuelva una cadena vacía.
+
+
+
+
+
+
+ FILTER_SANITIZE_EMAIL
+ (int)
+
+
+
+ Sanea la cadena eliminando todos los caracteres excepto
+ letras latinas ([a-zA-Z]),
+ dígitos ([0-9]),
+ y los caracteres especiales
+ !#$%&'*+-=?^_`{|}~@.[].
+
+
+
+
+
+ FILTER_SANITIZE_URL
+ (int)
+
+
+
+ Sanea la cadena eliminando todos los caracteres excepto
+ letras latinas ([a-zA-Z]),
+ dígitos ([0-9]),
+ y los caracteres especiales
+ $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
+
+
+
+
+
+ FILTER_SANITIZE_NUMBER_INT
+ (int)
+
+
+
+ Sanea la cadena eliminando todos los caracteres excepto dígitos
+ ([0-9]), signo más (+),
+ y signo menos (-).
+
+
+
+
+
+ FILTER_SANITIZE_NUMBER_FLOAT
+ (int)
+
+
+
+ Sanea la cadena eliminando todos los caracteres excepto dígitos
+ ([0-9]), signo más (+),
+ y signo menos (-).
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_ALLOW_FRACTION
+ (int)
+
+
+
+ Acepta el carácter punto (.),
+ que normalmente representa el separador entre las partes entera y
+ fraccionaria.
+
+
+
+
+
+ FILTER_FLAG_ALLOW_THOUSAND
+ (int)
+
+
+
+ Acepta el carácter coma (,),
+ que normalmente representa el separador de miles.
+
+
+
+
+
+ FILTER_FLAG_ALLOW_SCIENTIFIC
+ (int)
+
+
+
+ Acepta números en notación científica permitiendo los
+ caracteres e y E.
+
+
+
+
+
+
+ Si no se usa el flag FILTER_FLAG_ALLOW_FRACTION,
+ entonces el separador decimal es eliminado, alterando el valor recibido.
+
+
+
+
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+
+
+
+ FILTER_SANITIZE_ADD_SLASHES
+ (int)
+
+
+
+ Aplica addslashes a la entrada.
+ Disponible a partir de PHP 7.3.0.
+
+
+
+
+
+
+ FILTER_SANITIZE_MAGIC_QUOTES
+ (int)
+
+
+
+ &Alias; FILTER_SANITIZE_ADD_SLASHES.
+
+
+
+ OBSOLETO a partir de PHP 7.3.0 y
+ ELIMINADO a partir de PHP 8.0.0.
+
+
+
+
+
+
+
diff --git a/reference/filter/constants.validation.xml b/reference/filter/constants.validation.xml
new file mode 100644
index 000000000..bd6e2bd6c
--- /dev/null
+++ b/reference/filter/constants.validation.xml
@@ -0,0 +1,689 @@
+
+
+
+
+ Filtros de validación
+ &extension.constants;
+
+
+
+ FILTER_VALIDATE_BOOL
+ (int)
+
+
+
+ Devuelve &true; para "1",
+ 1 incluyendo notaciones binarias, octales y hexadecimales, 1.0 incluyendo notación científica,
+ "true", &true;,
+ "on",
+ y "yes".
+
+
+ Devuelve &false; para "0",
+ 0 incluyendo notaciones binarias, octales y hexadecimales, 0.0 incluyendo notación científica,
+ "false", &false;,
+ "off",
+ "no", y
+ "".
+
+
+ Los valores de string se comparan sin distinguir entre mayúsculas y minúsculas.
+ El valor de retorno para valores no booleanos depende de
+ FILTER_NULL_ON_FAILURE.
+ Si está configurado, se devuelve &null;, de lo contrario se devuelve &false;.
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+
+ Disponible a partir de PHP 8.0.0.
+
+
+
+
+
+
+ FILTER_VALIDATE_BOOLEAN
+ (int)
+
+
+
+ &Alias; 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 si el valor es un entero,
+ en caso de éxito se convierte al tipo int.
+
+
+
+
+ Los valores string son recortados usando trim
+ antes de la validación.
+
+
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+ min_range
+
+
+ El valor solo es válido si es mayor o igual que el valor proporcionado.
+
+
+
+
+ max_range
+
+
+ El valor solo es válido si es menor o igual que el 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 si el valor es un float,
+ en caso de éxito se convierte al tipo float.
+
+
+
+
+ Los valores string son recortados usando trim
+ antes de la validación.
+
+
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+ decimal
+
+
+
+
+
+
+
+ min_range
+
+
+ El valor solo es válido si es mayor o igual que el valor proporcionado.
+ Disponible a partir de PHP 7.4.0.
+
+
+
+
+ max_range
+
+
+ El valor solo es válido si es menor o igual que el valor proporcionado.
+ Disponible a partir de PHP 7.4.0.
+
+
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_ALLOW_THOUSAND
+ (int)
+
+
+
+ Acepta comas (,),
+ que normalmente representan el separador de miles.
+
+
+
+
+
+
+
+
+ FILTER_VALIDATE_REGEXP
+ (int)
+
+
+
+ Valida el valor contra la expresión regular proporcionada por la
+ opción regexp.
+
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+ regexp
+
+
+ Expresión regular compatible con Perl.
+
+
+
+
+
+
+
+
+
+ FILTER_VALIDATE_URL
+ (int)
+
+
+
+ Valida si la URL es válida según
+ RFC 2396.
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_SCHEME_REQUIRED
+ (int)
+
+
+
+ Requiere que la URL contenga una parte de esquema.
+
+
+
+ OBSOLETO a partir de PHP 7.3.0 y
+ ELIMINADO a partir de PHP 8.0.0.
+ Esto se debe a que siempre está implícito por el
+ filtro FILTER_VALIDATE_URL.
+
+
+
+
+
+
+ FILTER_FLAG_HOST_REQUIRED
+ (int)
+
+
+
+ Requiere que la URL contenga una parte de host.
+
+
+
+ OBSOLETO a partir de PHP 7.3.0 y
+ ELIMINADO a partir de PHP 8.0.0.
+ Esto se debe a que siempre está implícito por el
+ filtro FILTER_VALIDATE_URL para la mayoría de los esquemas.
+
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+ Una URL válida puede no especificar el
+ protocolo HTTP (http://).
+ Por lo tanto, puede ser necesaria una validación adicional para determinar si la
+ URL usa un protocolo esperado,
+ por ejemplo, ssh:// o mailto:.
+
+
+
+
+ Este filtro solo funciona con URLs ASCII.
+ Esto significa que los Nombres de Dominio Internacionalizados (IDN) siempre serán rechazados.
+
+
+
+
+ Este filtro es muy permisivo. Para cualquier esquema distinto de
+ http:// o https://, el contenido
+ del host se acepta sin ninguna validación, aunque la presencia de un host
+ sigue siendo obligatoria, salvo que la URL tenga un esquema
+ mailto:, news: o
+ file:. Los esquemas no se validan por sí mismos y pueden
+ aceptarse aunque no correspondan a un esquema de URL conocido, o tengan
+ algún otro significado en PHP (como phar://).
+ El filtro también acepta direcciones de loopback
+ que corresponden al host actual.
+
+
+
+
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+
+
+
+ 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 que el filtro falle.
+
+
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_HOSTNAME
+ (int)
+
+
+
+ Requiere que los nombres de host comiencen con un carácter alfanumérico y contengan
+ solo caracteres alfanuméricos o guiones.
+
+
+
+
+
+
+ Este filtro es muy permisivo. Como se especifica en la
+ RFC 2181, un nombre de dominio
+ válido es una cadena con una longitud máxima de 253 caracteres (254 si
+ se incluye un separador . final) y en la que cada
+ etiqueta (separada por un .) tiene como máximo 63
+ caracteres. A menos que se use FILTER_FLAG_HOSTNAME
+ para garantizar que el dominio sea también un nombre de host válido, el
+ filtro acepta espacios en blanco, metacaracteres, bytes de control e
+ incluso bytes NUL.
+
+
+
+,", FILTER_VALIDATE_DOMAIN));
+var_dump(filter_var("null byte: >\0<", FILTER_VALIDATE_DOMAIN));
+var_dump(filter_var("space:> <, tab:>\t<, newline: >\n<, carriage return>\r<", FILTER_VALIDATE_DOMAIN));
+?>
+]]>
+
+ &example.outputs;
+
+,"
+string(14) "null byte: ><"
+string(52) "space:> <, tab:> <, newline: >
+<, carriage return>
+<"
+]]>
+
+
+
+
+
+
+
+ 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 están soportados, y por lo tanto serán rechazados.
+
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_EMAIL_UNICODE
+ (int)
+
+
+
+ Acepta caracteres Unicode en la parte local.
+ Disponible a partir de PHP 7.1.0.
+
+
+
+
+
+
+
+ La validación de correo electrónico es compleja y la única forma verdadera 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 el valor como dirección IP.
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+
+ Flags opcionales
+
+
+ FILTER_FLAG_IPV4
+ (int)
+
+
+
+ Permite direcciones IPv4.
+
+
+
+
+
+ FILTER_FLAG_IPV6
+ (int)
+
+
+
+ Permite direcciones IPv6.
+
+
+
+
+
+ FILTER_FLAG_NO_RES_RANGE
+ (int)
+
+
+
+ Deniega direcciones reservadas.
+
+
+ Estos son los rangos que están marcados como
+ Reserved-By-Protocol en
+ RFC 6890.
+
+
+ Que para IPv4 corresponden 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 corresponden a los siguientes rangos:
+
+ ::1/128
+ ::/128
+ ::FFFF:0:0/96
+ FE80::/10
+ .
+
+
+
+
+
+ FILTER_FLAG_NO_PRIV_RANGE
+ (int)
+
+
+
+ Deniega direcciones privadas.
+
+
+ Estas son direcciones IPv4 que están en 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 se pueden encontrar en
+ RFC 6890
+ donde el atributo Global es True.
+ Disponible a partir de PHP 8.2.0.
+
+
+
+
+
+
+
+
+
+ FILTER_VALIDATE_MAC
+ (int)
+
+
+
+ Valida si el valor es una dirección MAC.
+
+
+
+ Opciones disponibles
+
+ default
+
+
+ Valor a devolver en caso de que el filtro falle.
+
+
+
+
+
+
+
+
+
diff --git a/reference/filter/constants.xml b/reference/filter/constants.xml
index fa1d97959..990eb182e 100644
--- a/reference/filter/constants.xml
+++ b/reference/filter/constants.xml
@@ -1,1298 +1,16 @@
-
+
-
-
+
&reftitle.constants;
- &extension.constants;
-
- Constantes de entrada
-
- Estas constantes son utilizadas por
- filter_input y
- filter_input_array.
-
-
-
- INPUT_POST
- (int)
-
-
-
- Variables POST.
-
-
-
-
-
- INPUT_GET
- (int)
-
-
-
- Variables GET.
-
-
-
-
-
- INPUT_COOKIE
- (int)
-
-
-
- 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)
-
-
-
-
+ &reference.filter.constants.input;
+ &reference.filter.constants.flags.generic;
+ &reference.filter.constants.flags.sanitization;
+ &reference.filter.constants.validation;
+ &reference.filter.constants.sanitization;
+ &reference.filter.constants.callback;
-
- Flags genéricos de filtro
-
-
- FILTER_FLAG_NONE
- (int)
-
-
-
- Sin flags.
-
-
-
-
-
- FILTER_REQUIRE_SCALAR
- (int)
-
-
-
- Flag utilizado para requerir que la entrada del filtro sea un escalar.
-
-
-
-
-
- FILTER_REQUIRE_ARRAY
- (int)
-
-
-
- Flag utilizado para requerir que la entrada del filtro sea un array.
-
-
-
-
-
- FILTER_FORCE_ARRAY
- (int)
-
-
-
- Este flag envuelve las entradas escalares en un array de un elemento
- para filtros que operan sobre arrays.
-
-
-
-
-
- FILTER_NULL_ON_FAILURE
- (int)
-
-
-
- Usar &null; en lugar de &false; en caso de fallo.
-
-
- Utilizable con cualquier filtro de validación
- FILTER_VALIDATE_*.
-
-
-
-
-
- FILTER_THROW_ON_FAILURE
- (int)
-
-
-
- Lanza una Filter\FilterFailedException cuando un
- filtro de validación falla, en lugar de devolver &false;.
-
-
- Utilizable con cualquier filtro de validación
- FILTER_VALIDATE_*.
-
-
- Disponible a partir de PHP 8.5.0.
-
-
-
-
-
-
- Flags de filtro de saneamiento
-
-
- FILTER_FLAG_STRIP_LOW
- (int)
-
-
-
- Elimina caracteres con valor ASCII menor que 32.
-
-
-
-
-
- FILTER_FLAG_STRIP_HIGH
- (int)
-
-
-
- Elimina caracteres con valor ASCII mayor que 127.
-
-
-
-
-
- FILTER_FLAG_STRIP_BACKTICK
- (int)
-
-
-
- Elimina caracteres de comilla invertida (`).
-
-
-
-
-
- FILTER_FLAG_ENCODE_LOW
- (int)
-
-
-
- Codifica caracteres con valor ASCII menor que 32.
-
-
-
-
-
- FILTER_FLAG_ENCODE_HIGH
- (int)
-
-
-
- Codifica caracteres con valor ASCII mayor que 127.
-
-
-
-
-
- FILTER_FLAG_ENCODE_AMP
- (int)
-
-
-
- Codifica &.
-
-
-
-
-
- FILTER_FLAG_NO_ENCODE_QUOTES
- (int)
-
-
-
- Las comillas simples y dobles (' y ")
- no serán codificadas.
-
-
-
-
-
- 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",
- 1 incluyendo notaciones binarias, octales y hexadecimales, 1.0 incluyendo notación científica,
- "true", &true;,
- "on",
- y "yes".
-
-
- Devuelve &false; para "0",
- 0 incluyendo notaciones binarias, octales y hexadecimales, 0.0 incluyendo notación científica,
- "false", &false;,
- "off",
- "no", y
- "".
-
-
- Los valores de string se comparan sin distinguir entre mayúsculas y minúsculas.
- El valor de retorno para valores no booleanos depende de
- FILTER_NULL_ON_FAILURE.
- Si está configurado, se devuelve &null;, de lo contrario se devuelve &false;.
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
-
- Disponible a partir de PHP 8.0.0.
-
-
-
-
-
-
- FILTER_VALIDATE_BOOLEAN
- (int)
-
-
-
- &Alias; 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 si el valor es un entero,
- en caso de éxito se convierte al tipo int.
-
-
-
-
- Los valores string son recortados usando trim
- antes de la validación.
-
-
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
- min_range
-
-
- El valor solo es válido si es mayor o igual que el valor proporcionado.
-
-
-
-
- max_range
-
-
- El valor solo es válido si es menor o igual que el 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 si el valor es un float,
- en caso de éxito se convierte al tipo float.
-
-
-
-
- Los valores string son recortados usando trim
- antes de la validación.
-
-
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
- decimal
-
-
-
-
-
-
-
- min_range
-
-
- El valor solo es válido si es mayor o igual que el valor proporcionado.
- Disponible a partir de PHP 7.4.0.
-
-
-
-
- max_range
-
-
- El valor solo es válido si es menor o igual que el valor proporcionado.
- Disponible a partir de PHP 7.4.0.
-
-
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_ALLOW_THOUSAND
- (int)
-
-
-
- Acepta comas (,),
- que normalmente representan el separador de miles.
-
-
-
-
-
-
-
-
- FILTER_VALIDATE_REGEXP
- (int)
-
-
-
- Valida el valor contra la expresión regular proporcionada por la
- opción regexp.
-
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
- regexp
-
-
- Expresión regular compatible con Perl.
-
-
-
-
-
-
-
-
-
- FILTER_VALIDATE_URL
- (int)
-
-
-
- Valida si la URL es válida según
- RFC 2396.
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_SCHEME_REQUIRED
- (int)
-
-
-
- Requiere que la URL contenga una parte de esquema.
-
-
-
- OBSOLETO a partir de PHP 7.3.0 y
- ELIMINADO a partir de PHP 8.0.0.
- Esto se debe a que siempre está implícito por el
- filtro FILTER_VALIDATE_URL.
-
-
-
-
-
-
- FILTER_FLAG_HOST_REQUIRED
- (int)
-
-
-
- Requiere que la URL contenga una parte de host.
-
-
-
- OBSOLETO a partir de PHP 7.3.0 y
- ELIMINADO a partir de PHP 8.0.0.
- Esto se debe a que siempre está implícito por el
- filtro FILTER_VALIDATE_URL para la mayoría de los esquemas.
-
-
-
-
-
-
- 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.
-
-
-
-
-
-
- Una URL válida puede no especificar el
- protocolo HTTP (http://).
- Por lo tanto, puede ser necesaria una validación adicional para determinar si la
- URL usa un protocolo esperado,
- por ejemplo, ssh:// o mailto:.
-
-
-
-
- Este filtro solo funciona con URLs ASCII.
- Esto significa que los Nombres de Dominio Internacionalizados (IDN) siempre serán rechazados.
-
-
-
-
- Este filtro es muy permisivo. Para cualquier esquema distinto de
- http:// o https://, el contenido
- del host se acepta sin ninguna validación, aunque la presencia de un host
- sigue siendo obligatoria, salvo que la URL tenga un esquema
- mailto:, news: o
- file:. Los esquemas no se validan por sí mismos y pueden
- aceptarse aunque no correspondan a un esquema de URL conocido, o tengan
- algún otro significado en PHP (como phar://).
- El filtro también acepta direcciones de loopback
- que corresponden al host actual.
-
-
-
-
-]]>
-
- &example.outputs;
-
-
-
-
-
-
-
-
-
- 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 que el filtro falle.
-
-
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_HOSTNAME
- (int)
-
-
-
- Requiere que los nombres de host comiencen con un carácter alfanumérico y contengan
- solo caracteres 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 están soportados, y por lo tanto serán rechazados.
-
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_EMAIL_UNICODE
- (int)
-
-
-
- Acepta caracteres Unicode en la parte local.
- Disponible a partir de PHP 7.1.0.
-
-
-
-
-
-
-
- La validación de correo electrónico es compleja y la única forma verdadera 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 el valor como dirección IP.
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_IPV4
- (int)
-
-
-
- Permite direcciones IPv4.
-
-
-
-
-
- FILTER_FLAG_IPV6
- (int)
-
-
-
- Permite direcciones IPv6.
-
-
-
-
-
- FILTER_FLAG_NO_RES_RANGE
- (int)
-
-
-
- Deniega direcciones reservadas.
-
-
- Estos son los rangos que están marcados como
- Reserved-By-Protocol en
- RFC 6890.
-
-
- Que para IPv4 corresponden 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 corresponden a los siguientes rangos:
-
- ::1/128
- ::/128
- ::FFFF:0:0/96
- FE80::/10
- .
-
-
-
-
-
- FILTER_FLAG_NO_PRIV_RANGE
- (int)
-
-
-
- Deniega direcciones privadas.
-
-
- Estas son direcciones IPv4 que están en 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 se pueden encontrar en
- RFC 6890
- donde el atributo Global es True.
- Disponible a partir de PHP 8.2.0.
-
-
-
-
-
-
-
-
-
- FILTER_VALIDATE_MAC
- (int)
-
-
-
- Valida si el valor es una dirección MAC.
-
-
-
- Opciones disponibles
-
- default
-
-
- Valor a devolver en caso de que el filtro falle.
-
-
-
-
-
-
-
-
-
- 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; FILTER_UNSAFE_RAW.
-
-
-
-
-
- FILTER_SANITIZE_STRING
- (int)
-
-
-
- Este filtro elimina etiquetas y codifica en HTML 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 desactivarse 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 etiquetas no es equivalente a
- strip_tags.
-
-
-
-
-
-
- FILTER_SANITIZE_STRIPPED
- (int)
-
-
-
- &Alias; FILTER_SANITIZE_STRING.
-
-
-
- Obsoleto a partir de PHP 8.1.0,
- use htmlspecialchars en su lugar.
-
-
-
-
-
-
- FILTER_SANITIZE_ENCODED
- (int)
-
-
-
- Este filtro codifica una cadena en URL.
-
-
- 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 caracteres con un valor ASCII menor que 32.
- A diferencia del filtro FILTER_SANITIZE_FULL_SPECIAL_CHARS, el
- filtro FILTER_SANITIZE_SPECIAL_CHARS ignora el
- flag FILTER_FLAG_NO_ENCODE_QUOTES.
-
-
- Opcionalmente puede eliminar caracteres especificados si se usa junto con
- los flags de saneamiento de filtro FILTER_FLAG_STRIP_*,
- y puede codificar caracteres con valor ASCII
- mayor que 127 usando FILTER_FLAG_ENCODE_HIGH.
-
-
-
-
-
- FILTER_SANITIZE_FULL_SPECIAL_CHARS
- (int)
-
-
-
- Este filtro es equivalente a llamar a htmlspecialchars
- con ENT_QUOTES configurado.
-
-
- El comportamiento de codificación de comillas puede desactivarse usando el
- flag de filtro FILTER_FLAG_NO_ENCODE_QUOTES.
-
-
-
- Al igual que htmlspecialchars, este filtro es consciente de la
- configuración INI default_charset.
- Si se detecta una secuencia de bytes que forma un carácter no válido
- en el juego de caracteres actual, entonces toda la cadena es rechazada
- resultando en que se devuelva una cadena vacía.
-
-
-
-
-
-
- FILTER_SANITIZE_EMAIL
- (int)
-
-
-
- Sanea la cadena eliminando todos los caracteres excepto
- letras latinas ([a-zA-Z]),
- dígitos ([0-9]),
- y los caracteres especiales
- !#$%&'*+-=?^_`{|}~@.[].
-
-
-
-
-
- FILTER_SANITIZE_URL
- (int)
-
-
-
- Sanea la cadena eliminando todos los caracteres excepto
- letras latinas ([a-zA-Z]),
- dígitos ([0-9]),
- y los caracteres especiales
- $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
-
-
-
-
-
- FILTER_SANITIZE_NUMBER_INT
- (int)
-
-
-
- Sanea la cadena eliminando todos los caracteres excepto dígitos
- ([0-9]), signo más (+),
- y signo menos (-).
-
-
-
-
-
- FILTER_SANITIZE_NUMBER_FLOAT
- (int)
-
-
-
- Sanea la cadena eliminando todos los caracteres excepto dígitos
- ([0-9]), signo más (+),
- y signo menos (-).
-
-
-
- Flags opcionales
-
-
- FILTER_FLAG_ALLOW_FRACTION
- (int)
-
-
-
- Acepta el carácter punto (.),
- que normalmente representa el separador entre las partes entera y
- fraccionaria.
-
-
-
-
-
- FILTER_FLAG_ALLOW_THOUSAND
- (int)
-
-
-
- Acepta el carácter coma (,),
- que normalmente representa el separador de miles.
-
-
-
-
-
- FILTER_FLAG_ALLOW_SCIENTIFIC
- (int)
-
-
-
- Acepta números en notación científica permitiendo los
- caracteres e y E.
-
-
-
-
-
-
- Si no se usa el flag FILTER_FLAG_ALLOW_FRACTION,
- entonces el separador decimal es eliminado, alterando el valor recibido.
-
-
-
-
-]]>
-
- &example.outputs;
-
-
-
-
-
-
-
-
-
-
- FILTER_SANITIZE_ADD_SLASHES
- (int)
-
-
-
- Aplica addslashes a la entrada.
- Disponible a partir de PHP 7.3.0.
-
-
-
-
-
-
- FILTER_SANITIZE_MAGIC_QUOTES
- (int)
-
-
-
- &Alias; FILTER_SANITIZE_ADD_SLASHES.
-
-
-
- OBSOLETO a partir de PHP 7.3.0 y
- ELIMINADO a partir de PHP 8.0.0.
-
-
-
-
-
-
-
- Filtro definido por el usuario
-
-
- FILTER_CALLBACK
- (int)
-
-
-
- Este filtro delega el filtrado a una función definida por el usuario.
- El callable se pasa a través del
- parámetro options como el valor asociado a
- la clave 'options'.
-
-
- La retrollamada debe tener la siguiente firma:
-
- mixedcallback
- stringvalue
-
-
-
- value
-
-
- El valor que está siendo filtrado.
-
-
-
-
-
-
-
- El valor devuelto por la retrollamada será el valor devuelto por
- la función de filtro invocada.
-
-
-
-
- Ejemplo de uso de FILTER_CALLBACK para validar
- un nombre de inicio de sesión
-
-
-= 5 && ctype_alnum($value)) {
- return $value;
- }
- return null;
-}
-
-$login = "val1dL0gin";
-$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
-var_dump($filtered_login);
-
-$login = "f&ke login";
-$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
-var_dump($filtered_login);
-?>
-]]>
-
- &example.outputs;
-
-
-
-
-
-
- A partir de PHP 8.1.25 y 8.2.12, los flags estructurales
- FILTER_REQUIRE_ARRAY,
- FILTER_FORCE_ARRAY y
- FILTER_REQUIRE_SCALAR se aplican a este filtro, y
- FILTER_NULL_ON_FAILURE cambia la forma en que se
- informa de tal fallo estructural. En versiones anteriores todos los flags
- eran ignorados. Los flags específicos del filtro siempre son ignorados y,
- dado que el valor devuelto por la retrollamada es el resultado, la
- retrollamada en sí misma no puede fallar: ningún flag convierte un
- false devuelto por la retrollamada en &null; o en una
- excepción.
-
-
-
-
-