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 <constant>FILTER_CALLBACK</constant> 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 <constant>FILTER_CALLBACK</constant> 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. - - - - -