Funciones de Filtro
Introducción
Esta extensión sirve para validar y filtrar datos provenientes de alguna fuento insegura, tal como entrada del usuario.
Los siguientes filtros existen en este momento; asegúrese de leer la sección Constantes de Filtros para más información sobre el comportamiento de cada constante:
ID | Nombre | Opciones | Banderas | Descripción |
---|---|---|---|---|
FILTER_VALIDATE_INT | "int" | min_range , max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | Valida el valor como entero, opcionalmente entre el rango especificado. |
FILTER_VALIDATE_BOOLEAN | "boolean" | FILTER_NULL_ON_FAILURE |
Devuelve TRUE para "1", "true", "on" y "yes". Devuelve FALSE de lo contrario. Si FILTER_NULL_ON_FAILURE está definido, se devuelve FALSE solo para "0", "false", "off", "no", y "", y NULL es devuelto para todos los valores no-booleanos. |
|
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | Valida el valor como un flotante. |
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp | Valida el valor contra una expresión regular compatible con Perl regexp . | |
FILTER_VALIDATE_URL | "validate_url" | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | Valida el valor como una URL, opcionalmente con los componentes requeridos. | |
FILTER_VALIDATE_EMAIL | "validate_email" | Valida el valor como correo electrónico. | ||
FILTER_VALIDATE_IP | "validate_ip" | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | Valida el valor como una dirección IP, opcionalmente solo IPv4 o IPv6, o que no pertenezca a los rangos privados o reservados. | |
FILTER_SANITIZE_STRING | "string" | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Remueve etiquetas, opcionalmente removiendo o codificando caracteres especiales. | |
FILTER_SANITIZE_STRIPPED | "stripped" | Alias para el filtro "string". | ||
FILTER_SANITIZE_ENCODED | "encoded" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | Codificar estilo URL una cadena, opcionalmente remover o codificar caracteres especiales. | |
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | Escapar como HTML '"<>& y caracteres con valores ASCII menores a 32, opcionalemnte remover o codificar otros caracteres especiales. | |
FILTER_UNSAFE_RAW | "unsafe_raw" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | No hacer nada, opcionalmente remover o codificar caracteres especiales. | |
FILTER_SANITIZE_EMAIL | "email" | Remover todos los caracteres excepto las letras, dÃgitos y !#$%&'*+-/=?^_`{|}~@.[]. | ||
FILTER_SANITIZE_URL | "url" | Remover todos los caracteres excepto letras, dÃgitos y $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=. | ||
FILTER_SANITIZE_NUMBER_INT | "number_int" | Remover todos los caracteres excepto dÃgitos y +-. | ||
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remover todos los caracteres excepto dÃgitos, +- y opcionalmente .,eE. | |
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" | Aplicar addslashes(). | ||
FILTER_CALLBACK | "callback" | función callback o método | Llamar una función definida por el usuario para filtrar los datos. |
Requisitos
No se necesitan bibliotecas externas para construir esta extensión
Instalación
Una corta nota de inslatación: simplemente escriba
$ pecl install filter
Configuración en tiempo de ejecución
El comportamiento de estas funciones está afectado por los valores definidos en php.ini.
Nombre | Predeterminado | Modificable | Registro de cambios |
---|---|---|---|
filter.default | "unsafe_raw" | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0. |
filter.default_flags | NULL | PHP_INI_PERDIR | PHP_INI_ALL en filter <= 0.9.4. Disponible desde PHP 5.2.0. |
A continuación se presenta una corta explicación de las directivas de configuración.
- filter.default string
-
Filtrar todos los datos $_GET, $_POST, $_COOKIE y $_REQUEST con este filtro. Los datos originales pueden ser accesados mediante filter_input().
Acepta el nombre del filtro que desa usar por omisión. Vea la lista de filtros existentes para conocer los nombres.
- filter.default_flags integer
-
Banderas predeterminadas
Tipos de recursos
Esta extensión no tiene ningún tipo de recurso definido.
Constantes predefinidas
Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.
- INPUT_POST (integer)
- Variables POST.
- INPUT_GET (integer)
- Variables GET.
- INPUT_COOKIE (integer)
- Variables COOKIE.
- INPUT_ENV (integer)
- Variables ENV.
- INPUT_SERVER (integer)
- Variables SERVER.
- INPUT_SESSION (integer)
- Variables SESSION. (aun no implementado)
- INPUT_REQUEST (integer)
- Variables REQUEST. (aun no implementado)
- FILTER_FLAG_NONE (integer)
- Ninguna bandera.
- FILTER_REQUIRE_SCALAR (integer)
- Bandera usada para requerir un valor escalar como entrada
- FILTER_REQUIRE_ARRAY (integer)
- Requerir una matriz como entrada.
- FILTER_FORCE_ARRAY (integer)
- Siempre devolver una matriz.
- FILTER_NULL_ON_FAILURE (integer)
- Usar NULL en lugar de FALSE en caso de fallos.
- FILTER_VALIDATE_INT (integer)
- ID del filtro "int".
- FILTER_VALIDATE_BOOLEAN (integer)
- ID del filtro "boolean".
- FILTER_VALIDATE_FLOAT (integer)
- ID del filtro "float".
- FILTER_VALIDATE_REGEXP (integer)
- ID del filtro "validate_regexp".
- FILTER_VALIDATE_URL (integer)
- ID del filtro "validate_url".
- FILTER_VALIDATE_EMAIL (integer)
- ID del filtro "validate_email".
- FILTER_VALIDATE_IP (integer)
- ID del filtro "validate_ip".
- FILTER_DEFAULT (integer)
- ID del filtro predeterminado ("string").
- FILTER_UNSAFE_RAW (integer)
- ID del filtro "unsafe_raw".
- FILTER_SANITIZE_STRING (integer)
- ID del filtro "string".
- FILTER_SANITIZE_STRIPPED (integer)
- ID del filtro "stripped".
- FILTER_SANITIZE_ENCODED (integer)
- ID del filtro "encoded".
- FILTER_SANITIZE_SPECIAL_CHARS (integer)
- ID del filtro "special_chars".
- FILTER_SANITIZE_EMAIL (integer)
- ID del filtro "email".
- FILTER_SANITIZE_URL (integer)
- ID del filtro "url".
- FILTER_SANITIZE_NUMBER_INT (integer)
- ID del filtro "number_int".
- FILTER_SANITIZE_NUMBER_FLOAT (integer)
- ID del filtro "number_float".
- FILTER_SANITIZE_MAGIC_QUOTES (integer)
- ID del filtro "magic_quotes".
- FILTER_CALLBACK (integer)
- ID del filtro "callback".
- FILTER_FLAG_ALLOW_OCTAL (integer)
- Permitir notación octal (0[0-7]+) en el filtro "int".
- FILTER_FLAG_ALLOW_HEX (integer)
- Permitir notación hexadecimal (0x[0-9a-fA-F]+) en el filtro "int".
- FILTER_FLAG_STRIP_LOW (integer)
- Remover caracteres con valores ASCII menores a 32.
- FILTER_FLAG_STRIP_HIGH (integer)
- Remover caracteres con valores ASCII más altos de 127.
- FILTER_FLAG_ENCODE_LOW (integer)
- Codificar caracteres con valores ASCII menores que 32.
- FILTER_FLAG_ENCODE_HIGH (integer)
- Codificar caracteres con valores ASCII mayores que 127.
- FILTER_FLAG_ENCODE_AMP (integer)
- Codificar &.
- FILTER_FLAG_NO_ENCODE_QUOTES (integer)
- No codificar ' y ".
- FILTER_FLAG_EMPTY_STRING_NULL (integer)
- (Sin uso por ahora.)
- FILTER_FLAG_ALLOW_FRACTION (integer)
- Permitir la parte de fracción en el filtro "number_float".
- FILTER_FLAG_ALLOW_THOUSAND (integer)
- Permitir el separador de miles (,) en el filtro "number_float".
- FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
- Permitir la notación cientÃfica (e, E) en el filtro "number_float".
- FILTER_FLAG_SCHEME_REQUIRED (integer)
- Requerir un esquema en el filtro "validate_url".
- FILTER_FLAG_HOST_REQUIRED (integer)
- Requerir un host en el filtro "validate_url".
- FILTER_FLAG_PATH_REQUIRED (integer)
- Requerir una ruta en el filtro "validate_url".
- FILTER_FLAG_QUERY_REQUIRED (integer)
- Requerir una cadena de consulta en el filtro "validate_url".
- FILTER_FLAG_IPV4 (integer)
- Permitir únicamente direcciones IPv4 en el filtro "validate_ip".
- FILTER_FLAG_IPV6 (integer)
- Permitir únicamente direcciones IPv6 en el filtro "validate_ip".
- FILTER_FLAG_NO_RES_RANGE (integer)
- No permitir direcciones reservadas en el filtro "validate_ip".
- FILTER_FLAG_NO_PRIV_RANGE (integer)
- No permitir direcciones privadas en el filtro "validate_ip".
Table of Contents
- filter_has_var — Verifica si la variable del tipo especificado existe
- filter_id — Devuelve el ID del filtro con el nombre dado
- filter_input_array — Obtiene múltiples variables desde afuera de PHP y opcionalmente las filtra
- filter_input — Obtiene una variable desde afuera de PHP y opcionalmente la filtra
- filter_list — Devuelve una lista de todos los filtros soportados
- filter_var_array — Obtiene múltiples variables y opcionalmente las filtra
- filter_var — Filtra una variable con un filtro especÃfico