Filtros de Sanitize (Limpeza)

Lista de filtros para sanitização (Limpeza)
ID Nome Flags Descrição
FILTER_SANITIZE_EMAIL "email"   Remova todos os caracteres, exceto letras, dígitos e !#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED "encoded" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH URL-encode string, opcionalmente tira ou codifica caracteres especiais.
FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes"   Aplica addslashes() (DESCONTINUADO no PHP 7.3.0 e REMOVIDO no PHP 8.0.0, utilize FILTER_SANITIZE_ADD_SLASHES).
FILTER_SANITIZE_ADD_SLASHES "add_slashes"   Aplica addslashes(). (A partir do PHP 7.3.0)
FILTER_SANITIZE_NUMBER_FLOAT "number_float" FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC Remove todos os caracteres, exceto dígitos, +- e opcionalmente .,eE.
FILTER_SANITIZE_NUMBER_INT "number_int"   Remove todos os caracteres, exceto os dígitos, sinal de mais e menos.
FILTER_SANITIZE_SPECIAL_CHARS "special_chars" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_HIGH Codifica em HTML '"<>& e caracteres com valor ASCII menor que 32, opcionalmente, tira ou codifica outros caracteres especiais.
FILTER_SANITIZE_FULL_SPECIAL_CHARS "full_special_chars" FILTER_FLAG_NO_ENCODE_QUOTES Equivalente a chamar htmlspecialchars() junto com ENT_QUOTES. Citações de codificação podem ser desabilitadas FILTER_FLAG_NO_ENCODE_QUOTES. Como htmlspecialchars(), este filtro está ciente do default_charset e se uma sequência de bytes for detectada cria um caractere inválido no conjunto de caracteres atual e, em seguida, a cadeia inteira é rejeitada, resultando em uma cadeia de caracteres de comprimento igual a 0. Ao usar esse filtro como um filtro padrão, consulte o aviso abaixo sobre como definir os sinalizadores padrão como 0
FILTER_SANITIZE_STRING "string" FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Remove tags e codifica aspas duplas e simples no estilo HTML, opcionalmente remove ou codifica caracteres HTML especiais. Codificar aspas pode ser desligado ao ativar FILTER_FLAG_NO_ENCODE_QUOTES (Descontinuado desde o PHP 8.1.0, utilize htmlspecialchars()).
FILTER_SANITIZE_STRIPPED "stripped"   Alias do filtro "string" (Descontinuado desde o PHP 8.1.0, utilize htmlspecialchars()).
FILTER_SANITIZE_URL "url"   Remove todos os caracteres, exceto letras, dígitos e $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW "unsafe_raw" FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP Não faz nada, opcionalmente descasque ou codifique caracteres especiais. este filtro também é alias do FILTER_DEFAULT.
Warning

Ao usar um desses filtros como um filtro padrão através do seu arquivo ini ou através da configuração do seu servidor web, os sinalizadores padrão são definidos para FILTER_FLAG_NO_ENCODE_QUOTES. Você precisa definir explicitamente filter.default_flags para 0 ter aspas codificadas por padrão. Assim:

Example #1 Configurando o filtro padrão para agir como htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Registro de Alterações

Versão Descrição
8.1.0 FILTER_SANITIZE_STRING e FILTER_SANITIZE_STRIPPED foram descontinuadas.
8.0.0 FILTER_SANITIZE_MAGIC_QUOTES foi removido.
7.3.0 FILTER_SANITIZE_ADD_SLASHES foi adicionado como substitutivo de FILTER_SANITIZE_MAGIC_QUOTES
7.3.0 FILTER_SANITIZE_MAGIC_QUOTES foi descontinuado.