The names accepted by filter_id() are names of filters provided by the filter extension. They should not be treated as general-purpose validation rule names.
For example, "validate_email" is a validation filter, while "email" is a sanitization filter:
<?php
var_dump(filter_id('validate_email') === FILTER_VALIDATE_EMAIL); // bool(true)
var_dump(filter_id('email') === FILTER_SANITIZE_EMAIL); // bool(true)
var_dump(filter_var('not an email', filter_id('validate_email'))); // bool(false)
var_dump(filter_var('not an email', filter_id('email'))); // string(10) "notanemail"
?>
This distinction matters when filter names come from configuration or a schema. If only validation is intended, consider using an application-level allow-list instead of passing arbitrary names directly to `filter_id()`:
<?php
function validation_filter_id(string $name): int
{
return match ($name) {
'email' => FILTER_VALIDATE_EMAIL,
'url' => FILTER_VALIDATE_URL,
'int' => FILTER_VALIDATE_INT,
'float' => FILTER_VALIDATE_FLOAT,
'bool', 'boolean' => FILTER_VALIDATE_BOOLEAN,
'ip' => FILTER_VALIDATE_IP,
'domain' => FILTER_VALIDATE_DOMAIN,
'mac' => FILTER_VALIDATE_MAC,
'regexp' => FILTER_VALIDATE_REGEXP,
default => throw new InvalidArgumentException(
"Unknown validation filter: {$name}"
),
};
}
$filter = validation_filter_id('email');
var_dump(filter_var('[email protected]', $filter)); // string(16) "[email protected]"
var_dump(filter_var('not an email', $filter)); // bool(false)
?>
PHP.mk документација
filter_id
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
function.filter-id.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
function.filter-id.php
filter_id
Референца за `function.filter-id.php` со подобрена типографија и навигација.
filter_id
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
filter_id — Враќа ID на филтер што припаѓа на именуван филтер
Параметри
name-
Име на филтер за добивање.
Вратени вредности
ID на филтер при успех или false ако филтерот не постои.
Види Исто така
- filter_list() - Враќа список на сите поддржани филтри
Белешки од корисници 2 забелешки
masakielastic at gmail dot com ¶
пред 4 дена
w0n4b3 на gmail точка com ¶
пред 15 години
[To get a list of filters and their IDs:]
<?php
$filters = filter_list();
foreach($filters as $filter_name) {
echo $filter_name .": ".filter_id($filter_name) ."<br>";
}
?>
Will result in:
boolean: 258
float: 259
validate_regexp: 272
validate_url: 273
validate_email: 274
validate_ip: 275
string: 513
stripped: 513
encoded: 514
special_chars: 515
unsafe_raw: 516
email: 517
url: 518
number_int: 519
number_float: 520
magic_quotes: 521
callback: 1024