Мне удалось добиться этого с помощью встроенной PHP-функции get_defined_constants (), в которой перечислены все предопределенные константы PHP.
Решение:
Приведенный ниже код сохранит все разрешенные фильтры в массив и позволит вам проверить правильность любого фильтра с помощью функции check_filter ().
<?php
$constants = get_defined_constants();
$allowed_filters = array();
foreach ($constants as $c => $val)
if (substr($c, 0, 7) == 'FILTER_')
$allowed_filters[$c] = 1;
function check_filter($filter_name, $allowed_filters) { return isset($allowed_filters[$filter_name]); }
var_dump(check_filter('FILTER_SANITIZE_EMAIL', $allowed_filters)); // true
var_dump(check_filter('FILTER_TEST', $allowed_filters)); // false
var_dump(check_filter('PHP_VERSION', $allowed_filters)); // false, even though constant exists
Надеюсь, это поможет!