Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!
As contantes abaixo são definidas por esta extensão e só estarão disponíveis quando a extensão tiver sido compilada no PHP ou tiver sido carregada dinamicamente em tempo de execução.
Estas constantes são usadas por filter_input() e filter_input_array().
INPUT_POST
(int)
INPUT_GET
(int)
INPUT_ENV
(int)
INPUT_SERVER
(int)
INPUT_SESSION
(int)
INPUT_REQUEST
(int)
FILTER_FLAG_NONE
(int)
FILTER_REQUIRE_SCALAR
(int)
FILTER_REQUIRE_ARRAY
(int)
FILTER_FORCE_ARRAY
(int)
FILTER_NULL_ON_FAILURE
(int)
null
ao invés de false
em caso de falha.
Utilizável com qualquer filtro
FILTER_VALIDATE_*
de validação.
FILTER_FLAG_STRIP_LOW
(int)
FILTER_FLAG_STRIP_HIGH
(int)
FILTER_FLAG_STRIP_BACKTICK
(int)
`
).
FILTER_FLAG_ENCODE_LOW
(int)
FILTER_FLAG_ENCODE_HIGH
(int)
FILTER_FLAG_ENCODE_AMP
(int)
&
.
FILTER_FLAG_NO_ENCODE_QUOTES
(int)
'
e "
).
FILTER_FLAG_EMPTY_STRING_NULL
(int)
null
.
FILTER_VALIDATE_BOOL
(int)
true
para "1"
,
"true"
,
"on"
e "yes"
.
Retorna false
para "0"
,
"false"
,
"off"
,
"no"
e
""
.
O valor de retorno para valores não booleanos depende da opção
FILTER_NULL_ON_FAILURE
.
Se estiver definida, retorna null
, caso contrário, false
.
default
FILTER_VALIDATE_BOOLEAN
(int)
FILTER_VALIDATE_BOOL
.
O sinônimo estava disponível antes da introdução de seu nome canônico
no PHP 8.0.0.
FILTER_VALIDATE_INT
(int)
Nota: Valores string são aparados usando trim() antes da validação.
default
min_range
max_range
FILTER_FLAG_ALLOW_OCTAL
(int)
0[0-7]+
).
FILTER_FLAG_ALLOW_HEX
(int)
0x[0-9a-fA-F]+
).
FILTER_VALIDATE_FLOAT
(int)
Nota: Valores string são aparados usando trim() antes da validação.
default
decimal
min_range
max_range
FILTER_FLAG_ALLOW_THOUSAND
(int)
,
),
que normalmente representam separador de milhares em inglês.
FILTER_VALIDATE_REGEXP
(int)
regexp
.
default
regexp
FILTER_VALIDATE_URL
(int)
default
FILTER_FLAG_SCHEME_REQUIRED
(int)
DESCONTINUADA a partir do PHP 7.3.0 e
REMOVIDA a partir do PHP 8.0.0.
A razão é que fica sempre implícita pelo filtro
FILTER_VALIDATE_URL
.
FILTER_FLAG_HOST_REQUIRED
(int)
DESCONTINUADA a partir do PHP 7.3.0 e
REMOVIDA a partir do PHP 8.0.0.
A razão é que fica sempre implícita pelo filtro
FILTER_VALIDATE_URL
.
FILTER_FLAG_PATH_REQUIRED
(int)
FILTER_FLAG_QUERY_REQUIRED
(int)
Um URL válido pode não especificar o
protocolo HTTP (http://
).
Portanto, uma validação adicional pode ser necessária para determinar se o
URL usa um protocolo esperado,
por exemplo, ssh://
ou mailto:
.
Este filtro só funciona em URLs ASCII. Isto significa que os Nomes de Domínio Internacionalizados (IDN) serão sempre rejeitados.
FILTER_VALIDATE_DOMAIN
(int)
default
FILTER_FLAG_HOSTNAME
(int)
FILTER_VALIDATE_EMAIL
(int)
addr-spec
na
» RFC 822.
Contudo, comentários, espaços em branco e domínios sem ponto
não são suportados, e por isso serão rejeitados.
default
FILTER_FLAG_EMAIL_UNICODE
(int)
A validação de e-mail é complexa e a única maneira verdadeira de confirmar se um e-mail é válido e existe é enviando um e-mail para o endereço.
FILTER_VALIDATE_IP
(int)
Valida o valor como um endereço IP.
default
FILTER_FLAG_IPV4
(int)
FILTER_FLAG_IPV6
(int)
FILTER_FLAG_NO_RES_RANGE
(int)
Reserved-By-Protocol
(reservados por protocolo) na
» RFC 6890.
Para IPv4, corresponden aos seguintes intervalos:
0.0.0.0/8
, 169.254.0.0/16
, 127.0.0.0/8
, 240.0.0.0/4
.
E para IPv6, corresponden aos seguintes intervalos:
::1/128
, ::/128
, ::FFFF:0:0/96
, FE80::/10
.
FILTER_FLAG_NO_PRIV_RANGE
(int)
São os endereços IPv4 que estão nestas faixas:
10.0.0.0/8
, 172.16.0.0/12
, 192.168.0.0/16
.
FD
or FC
.
FILTER_FLAG_GLOBAL_RANGE
(int)
Global
é True
.
Disponível a partir do PHP 8.2.0.
FILTER_VALIDATE_MAC
(int)
default
FILTER_UNSAFE_RAW
(int)
FILTER_FLAG_STRIP_*
e FILTER_FLAG_ENCODE_*
de filtro de sanitização.
FILTER_DEFAULT
(int)
FILTER_UNSAFE_RAW
.
FILTER_SANITIZE_STRING
(int)
FILTER_FLAG_STRIP_*
e FILTER_FLAG_ENCODE_*
.
O comportamento da codificação de aspas pode ser desativado usando a
opção de filtro FILTER_FLAG_NO_ENCODE_QUOTES
Descontinuado a partir do PHP 8.1.0, use htmlspecialchars() em seu lugar.
A maneira como esse filtro remove as etiquetas não é equivalente a strip_tags().
FILTER_SANITIZE_STRIPPED
(int)
FILTER_SANITIZE_STRING
.
Descontinuado a partir do PHP 8.1.0, use htmlspecialchars() em seu lugar.
FILTER_SANITIZE_ENCODED
(int)
FILTER_FLAG_STRIP_*
e FILTER_FLAG_ENCODE_*
.
FILTER_SANITIZE_SPECIAL_CHARS
(int)
Este filtra codifica, em HTML,
'
, "
, <
, >
, &
e caracteres com um valor ASCII menor que 32.
FILTER_FLAG_STRIP_*
,
e pode codificar caracteres com valores ASCII
maiores que 127 usando FILTER_FLAG_ENCODE_HIGH
.
FILTER_SANITIZE_FULL_SPECIAL_CHARS
(int)
ENT_QUOTES
definida.
O comportamento da codificação de aspas pode ser desabilitado usando a
opção de filtro FILTER_FLAG_NO_ENCODE_QUOTES
.
Assim como htmlspecialchars(), este filtro reconhece a configuração INI default_charset. Se for detectada uma sequência de bytes que constitui um caractere inválido no conjunto de caracteres atual, a string inteira será rejeitada, resultando no retorno de uma string vazia.
FILTER_SANITIZE_EMAIL
(int)
[a-zA-Z]
),
dígitos ([0-9]
)
e os caracteres especiais
!#$%&'*+-=?^_`{|}~@.[]
.
FILTER_SANITIZE_URL
(int)
[a-zA-Z]
),
dígitos ([0-9]
)
e os caracteres especiais
$-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=
.
FILTER_SANITIZE_NUMBER_INT
(int)
[0-9]
), sinal de adição (+
),
e sinal de subtração (-
).
FILTER_SANITIZE_NUMBER_FLOAT
(int)
[0-9]
), sinal de adição (+
),
e sinal de subtração (-
).
FILTER_FLAG_ALLOW_FRACTION
(int)
.
),
que normalmente representa o separador entre as partes inteira
e fracionária em inglês.
FILTER_FLAG_ALLOW_THOUSAND
(int)
,
),
que normalmente representam separador de milhares em inglês.
FILTER_FLAG_ALLOW_SCIENTIFIC
(int)
e
e E
.
Se a opção FILTER_FLAG_ALLOW_FRACTION
não for usada,
o separador de decimais será removido, alterando o valor recebido.
<?php
$number = '12.34';
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
?>
O exemplo acima produzirá:
string(4) "1234" string(5) "12.34"
FILTER_SANITIZE_ADD_SLASHES
(int)
FILTER_SANITIZE_MAGIC_QUOTES
(int)
FILTER_SANITIZE_ADD_SLASHES
.
DESCONTINUADA a partir do PHP 7.3.0 e REMOVIDA a partir do PHP 8.0.0.
FILTER_CALLBACK
(int)
options
comom o valor associado à
chave 'options'
.
A função deve ter a seguinte assinatura:
value
Nota: O valor retornado pela função será o valor retornado pela função de filtro chamada.
Exemplo #1
Examplo de uso de FILTER_CALLBACK
para validar
um login
<?php
function validate_login($value): ?string
{
if (strlen($value) >= 5 && ctype_alnum($value)) {
return $value;
}
return null;
}
$login = "L0ginValido";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
$login = "login f&lso";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>
O exemplo acima produzirá:
string(11) "L0ginValido" NULL
Este filtro não pode ser usado com nenhuma outra opção de filtro, como por exemplo,
FILTER_NULL_ON_FAILURE
.
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!