## Filtros de saneamiento

Lista de filtros de saneamiento
ID | Nombre | Banderas | Descripción
--- | --- | --- | ---
`FILTER_SANITIZE_EMAIL` | "email" |  | Elimina todos los caracteres menos letras, dígitos y `!#$%&'*+-=?^_`{|}~@.[]`.
`FILTER_SANITIZE_ENCODED` | "encoded" | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_LOW`, `FILTER_FLAG_ENCODE_HIGH` | String URL-encode, opcionalmente elimina o codifica caracteres especiales.
`FILTER_SANITIZE_MAGIC_QUOTES` | "magic_quotes" |  | Aplica addslashes().
`FILTER_SANITIZE_NUMBER_FLOAT` | "number_float" | `FILTER_FLAG_ALLOW_FRACTION`, `FILTER_FLAG_ALLOW_THOUSAND`, `FILTER_FLAG_ALLOW_SCIENTIFIC` | Elimina todos los caracteres a excepción de los dígitos, `+-` y, opcionalmente, `.,eE`.
`FILTER_SANITIZE_NUMBER_INT` | "number_int" |  | Elimina todos los caracteres excepto dígitos y los signos de suma y resta.
`FILTER_SANITIZE_SPECIAL_CHARS` | "special_chars" | `FILTER_FLAG_STRIP_LOW`, `FILTER_FLAG_STRIP_HIGH`, `FILTER_FLAG_ENCODE_HIGH` | Escapa caracteres HTML `'"<>&` y caracteres con valores ASCII menores que 32, opcionalmente elimina o codifica caracteres especiales.
`FILTER_SANITIZE_FULL_SPECIAL_CHARS` | "full_special_chars" | `FILTER_FLAG_NO_ENCODE_QUOTES`, | Equivalente a llamar a htmlspecialchars() con `ENT_QUOTES` establecido. Las comillas de codificación pueden ser desactivadas mediante el establecimiento de `FILTER_FLAG_NO_ENCODE_QUOTES`. Al igual que htmlspecialchars(), este filtro tiene en cuenta el default_charset y si en una secuencia de bytes se detecta que contiene un carácter no válido en el conjunto de caracteres actual entonces el string completo es rechazado lo que resulta en un string de longitud 0. Cuando se utiliza este filtro como un filtro predeterminado, vea la advertiencia de abajo sobre establecer las banderas predeterminadas a 0.
`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` | Elimina etiquetas, opcionalmente elimina o codifica caracteres especiales.
`FILTER_SANITIZE_STRIPPED` | "stripped" |  | Alias del filtro "string".
`FILTER_SANITIZE_URL` | "url" |  | Elimina todos los caracteres excepto letras, dígitos y `$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=`.
`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 hace nada, opcionalmente eliminar o codificar caracteres. Este filtro es un alias de `FILTER_DEFAULT`.

Advertencia

Cuando se utiliza uno de estos tres filtros como un filtro predetermindo a través de fichero ini o de la configuración del servidor web, las banderas predeterminadas son establecidas a `FILTER_FLAG_NO_ENCODE_QUOTES`. Se necesita establecer explícitamente filter.default_flags a 0 para tener la codificación de comillas por omisión. Como esto:

Ejemplo #1 Configurar el filtro predeterminado para que actúe como htmlspecialchars

`filter.default = full_special_chars
filter.default_flags = 0`

### Historial de cambios

Versión | Descripción
--- | ---
5.2.11/5.3.1 | Las barras (`/`) son eliminadas por `FILTER_SANITIZE_EMAIL`. Antes se mantenían.