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:
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
Configurações em execução
O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
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. |
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