filter_list()
(PHP 5 >= 5.2.0, PHP 7)
返回所支持的过滤器列表
说明
filter_list(void): array
返回值
返回一个所支持的过滤器的名称的列表,如果没有这样子的过滤器的话则返回空数组。这个数组的索引不是过滤器id,你可以通过filter_id()去根据名称获取它们。
范例
一个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
)
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
)
<?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=1024Output 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>';
?>
