PHP 8.3.0 RC 6 available for testing

filter_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_list返回所支持的过滤器列表

说明

filter_list(): array

参数

此函数没有参数。

返回值

返回一个所支持的过滤器的名称的列表,如果没有这样子的过滤器的话则返回空数组。这个数组的索引不是过滤器id, 你可以通过 filter_id() 去根据名称获取它们。

示例

示例 #1 一个 filter_list() 的例子

<?php
print_r
(filter_list());
?>

以上示例的输出类似于:

 
Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)

add a note

User Contributed Notes 4 notes

up
2
El diablo
5 years ago
Get filter_list() with filter_id() as key.

<?php
print_r
(array_flip(array_map('filter_id', array_combine(filter_list(), filter_list()))));
?>

Array
(
[257] => int
[258] => boolean
[259] => float
[272] => validate_regexp
[277] => validate_domain
[273] => validate_url
[274] => validate_email
[275] => validate_ip
[276] => validate_mac
[513] => stripped
[514] => encoded
[515] => special_chars
[522] => full_special_chars
[516] => unsafe_raw
[517] => email
[518] => url
[519] => number_int
[520] => number_float
[521] => magic_quotes
[1024] => callback
)
up
-2
shaman_master at list dot ru
3 years ago
2 strings, but it's faster (-2 calls) and not the longest
<?php
$filters
= filter_list();
$filters = array_combine($filters, array_map('filter_id', $filters));
?>
also I use id's as values: $filters[$filter] - get filter id by name
up
-3
vb dot jyoti at gmail dot com
15 years ago
<?php
echo "<pre>";
print_r(filter_list());
echo
"</pre>";
foreach (
filter_list() as $key => $value)
{
echo
"<br>".$key."=".$value.'='.filter_id($value);
}
?>

0=int=257
1=boolean=258
2=float=259
3=validate_regexp=272
4=validate_url=273
5=validate_email=274
6=validate_ip=275
7=string=513
8=stripped=513
9=encoded=514
10=special_chars=515
11=unsafe_raw=516
12=email=517
13=url=518
14=number_int=519
15=number_float=520
16=magic_quotes=521
17=callback=1024
up
-12
larry at weblabsperth dot com dot au
7 years ago
Output a table of Filter IDs as Integers with corresponding Constant IDs:

<?php

echo '<table>';
echo
'<tr>';
echo
'<th>Filter Name</th>';
echo
'<th>Filter Int ID</th>';
echo
'<th>Filter Const ID</th>';
echo
'</tr>';

foreach (
filter_list() as $id =>$filter) {
$const = 'FILTER_';
switch(
$filter) {
case
'int':
case
'boolean':
case
'float':
$const .= 'VALIDATE_' . $filter;
break;

case
'string':
case
'stripped':
case
'encoded':
case
'special_chars':
case
'full_special_chars':
case
'unsafe_raw':
case
'email':
case
'url':
case
'number_int':
case
'number_float':
case
'magic_quotes':
$const .= 'SANITIZE_' . $filter;
break;
}

if (
substr($filter,0,8)=='validate' || $filter=='callback')
$const .= $filter;

echo
'<tr><td>' . $filter . '</td><td align="center">' . filter_id($filter) . '</td><td>' . strtoupper($const) . '</td></tr>';
}

echo
'</table>';

?>
To Top