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=1024
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>'; ?>