Forum und email

Funções da Filter

Introdução

Esta extensão serve para validar e filtrar dados vindos de alguma fonte insegura, como uma entrada do usuário.

Os seguintes filtros existentes atualmente; podem ser encontrados na seção Constantes da Filter, para informações que descrevem o comportamento de cada constante:

Filtros existentes
ID Nome Opção Flags Descrição
FILTER_VALIDATE_INT "int" min_range , max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX Valida o valor como inteiro, opcionalmente de um dado intervalo.
FILTER_VALIDATE_BOOLEAN "boolean"   FILTER_NULL_ON_FAILURE

Retorna TRUE para "1", "true", "on" e "yes". Retorna FALSE caso contrário.

Se FILTER_NULL_ON_FAILURE é usado, FALSE é retornado somente para "0", "false", "off", "no", and "", e NULL é retornado para todos valores diferentes de bool.

FILTER_VALIDATE_FLOAT "float" decimal FILTER_FLAG_ALLOW_THOUSAND Valida o valor como float.
FILTER_VALIDATE_REGEXP "validate_regexp" regexp   Valida o valor com a regexp , uma expressão regular Compatível com Perl.
FILTER_VALIDATE_URL "validate_url"   FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED Valida o valor como URLL, opcionalmente com componentes requeridos.
FILTER_VALIDATE_EMAIL "validate_email"     Valida o valor como e-mail.
FILTER_VALIDATE_IP "validate_ip"   FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE Valida o valor como endereço IP, opcionalmente somente IPv4 ou IPv6 ou não privado ou faixa reservada.
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 Remove tags, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_STRIPPED "stripped"     Sinônimo do filtro "string".
FILTER_SANITIZE_ENCODED "encoded"   FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH String com URL-codificada, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_SPECIAL_CHARS "special_chars"   FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH Torna literal '"<>& e caracteres com valor ASCII menor que 32, opcionalmente remove ou codifica outros caracteres especiais.
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 Não faz nada, opcionalmente remove ou codifica caracteres especiais.
FILTER_SANITIZE_EMAIL "email"     Remove todos caracteres exceto letras, dígitos e !#$%&'*+-/=?^_`{|}~@.[].
FILTER_SANITIZE_URL "url"     Remove todos caracteres exceto letras, dígitos e $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_SANITIZE_NUMBER_INT "number_int"     Remove todos caracteres exceto dígitos, sinal de mais e menos.
FILTER_SANITIZE_NUMBER_FLOAT "number_float"   FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC Remove todos caracteres exceto dígitos, +- e opcionalmente .,eE.
FILTER_SANITIZE_MAGIC_QUOTES "magic_quotes"     Aplica addslashes().
FILTER_CALLBACK "callback" callback function or method   Chama uma função definida pelo usuário para filtrar dados.

Dependências

Nenhuma biblioteca externa é necessária para compilar esta extensão.

Instalação

Uma simples instalação:

$ pecl install filter
  
em seu console.

Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Opções de configuração da Filter
Nome Padrão Modificável Changelog
filter.default "unsafe_raw" PHP_INI_PERDIR PHP_INI_ALL na filter <= 0.9.4. Disponível desde PHP 5.2.0.
filter.default_flags NULL PHP_INI_PERDIR PHP_INI_ALL na filter <= 0.9.4. Disponível desde PHP 5.2.0.
Para mais detalhes e definições das constantes PHP_INI_*, veja Diretivas do arquivo php.ini.

Breve descrição das diretivas de configuração.

filter.default string

Filtra todas informações $_GET, $_POST, $_COOKIE and $_REQUEST com este filtro. A informação original pode ser acessada através da filter_input().

Aceita o nome do filtro que você quer usar por padrão. Veja a lista de filtros existentes pela lista de nomes de filtros.

filter.default_flags integer

Flags padrão

Tipos Resource

Esta extensão não possui nenhum tipo resource.

Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

INPUT_POST (integer)
Variáveis POST.
INPUT_GET (integer)
Variáveis GET.
INPUT_COOKIE (integer)
Variáveis COOKIE.
INPUT_ENV (integer)
Variáveis ENV.
INPUT_SERVER (integer)
Variáveis SERVER.
INPUT_SESSION (integer)
Variáveis SESSION. (não implementado ainda)
INPUT_REQUEST (integer)
Variáveis REQUEST. (não implementado ainda)
FILTER_FLAG_NONE (integer)
Sem flags.
FILTER_REQUIRE_SCALAR (integer)
Flag usada para requisitar escalar como input
FILTER_REQUIRE_ARRAY (integer)
Requer um array como input.
FILTER_FORCE_ARRAY (integer)
Sempre retorna um array.
FILTER_NULL_ON_FAILURE (integer)
Usa NULL ao invés de FALSE em caso de falha.
FILTER_VALIDATE_INT (integer)
ID do filtro "int".
FILTER_VALIDATE_BOOLEAN (integer)
ID do filtro "boolean".
FILTER_VALIDATE_FLOAT (integer)
ID do filtro "float".
FILTER_VALIDATE_REGEXP (integer)
ID do filtro "validate_regexp".
FILTER_VALIDATE_URL (integer)
ID do filtro "validate_url".
FILTER_VALIDATE_EMAIL (integer)
ID do filtro "validate_email".
FILTER_VALIDATE_IP (integer)
ID do filtro "validate_ip".
FILTER_DEFAULT (integer)
ID do filtro padrão ("string").
FILTER_UNSAFE_RAW (integer)
ID do filtro "unsafe_raw".
FILTER_SANITIZE_STRING (integer)
ID do filtro "string".
FILTER_SANITIZE_STRIPPED (integer)
ID do filtro "stripped".
FILTER_SANITIZE_ENCODED (integer)
ID do filtro "encoded".
FILTER_SANITIZE_SPECIAL_CHARS (integer)
ID do filtro "special_chars".
FILTER_SANITIZE_EMAIL (integer)
ID do filtro "email".
FILTER_SANITIZE_URL (integer)
ID do filtro "url".
FILTER_SANITIZE_NUMBER_INT (integer)
ID do filtro "number_int".
FILTER_SANITIZE_NUMBER_FLOAT (integer)
ID do filtro "number_float".
FILTER_SANITIZE_MAGIC_QUOTES (integer)
ID do filtro "magic_quotes".
FILTER_CALLBACK (integer)
ID do filtro "callback".
FILTER_FLAG_ALLOW_OCTAL (integer)
Permite notação octal (0[0-7]+) no filtro "int".
FILTER_FLAG_ALLOW_HEX (integer)
Permite notação hexadecimal (0x[0-9a-fA-F]+) no filtro "int".
FILTER_FLAG_STRIP_LOW (integer)
Remove caracteres com valor ASCII menor que 32.
FILTER_FLAG_STRIP_HIGH (integer)
Remove caracteres com valor ASCII maior que 127.
FILTER_FLAG_ENCODE_LOW (integer)
Codifica caracteres com valor ASCII menor que 32.
FILTER_FLAG_ENCODE_HIGH (integer)
Codifica caracteres com valor ASCII maior que 127.
FILTER_FLAG_ENCODE_AMP (integer)
Codifica &.
FILTER_FLAG_NO_ENCODE_QUOTES (integer)
Não codifica ' e ".
FILTER_FLAG_EMPTY_STRING_NULL (integer)
(Nenhum uso no momento.)
FILTER_FLAG_ALLOW_FRACTION (integer)
Permite parte fracional no filtro "number_float".
FILTER_FLAG_ALLOW_THOUSAND (integer)
Allow thousand separator (,) in "number_float" filter.
FILTER_FLAG_ALLOW_SCIENTIFIC (integer)
Permite notação científica (e, E) no filtro "number_float".
FILTER_FLAG_SCHEME_REQUIRED (integer)
Requer scheme no filtro "validate_url".
FILTER_FLAG_HOST_REQUIRED (integer)
Requer host no filtro "validate_url".
FILTER_FLAG_PATH_REQUIRED (integer)
Requer path no filtro "validate_url".
FILTER_FLAG_QUERY_REQUIRED (integer)
Requer query no filtro "validate_url".
FILTER_FLAG_IPV4 (integer)
Permite somente endereço IPv4 no filtro "validate_ip".
FILTER_FLAG_IPV6 (integer)
Permite somente endereço IPv6 no filtro "validate_ip".
FILTER_FLAG_NO_RES_RANGE (integer)
Não permite endereços reservados no filtro "validate_ip".
FILTER_FLAG_NO_PRIV_RANGE (integer)
Não permite endereços privados no filtro "validate_ip".

Índice

  • filter_has_var — Verifica se a variável é de um especificado tipo existente
  • filter_id — Retorna o ID de um dado nome de filtro
  • filter_input_array — Obtem múltiplas variáveis do PHP e opcionalmente as filtra
  • filter_input — Obtem a variável e opcionalmente a filtra
  • filter_list — Retorna a lista de todos filtros suportados
  • filter_var_array — Obtêm múltiplas variáveis e opcionalmente as filtra
  • filter_var — Filtra a variável com um especificado filtro