略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: filter_list

2024-11-14

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 noteadd a note

User Contributed Notes 4 notes

up
3
El diablo
4 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
vb dot jyoti at gmail dot com
13 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
-3
shaman_master at list dot ru
2 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
-11
larry at weblabsperth dot com dot au
5 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>';

?>

官方地址:https://www.php.net/manual/en/function.filter-list.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3