2013-02-19 22 views
0

我無法找到任何有關構建自定義驗證函數以在filter_input_array中使用的內容。爲filter_input_array構建自定義FILTER_VALIDATE_XY

有沒有可能根據我自己的某個功能進行驗證?

類似

function FILTER_CUSTOM_FUNCTION($input) { // do something }  

$filter = array(

     'id' => FILTER_VALIDATE_INT, 
     'action' => FILTER_SANITIZE_STRING, 
     'custom_var' => FILTER_CUSTOM_FUNCTION 

); 

$myArray = filter_input_array(INPUT_GET, $filter); 

回答

0

的解決方案是關鍵字 「FILTER_CALLBACK」:

function check_languages($var) { 
    static $called = 0; 
    $called++; 
    echo "called: $called: $var<br />"; 
    $var = filter_var($var, FILTER_SANITIZE_STRIPPED); 
    $l = new language($var); 
    return $l; 
} 
$filter = array(
    'favourites' => array(
          'filter' => FILTER_CALLBACK, 
          'options' => 'check_languages' 
         ) 
); 

經由http://devzone.zend.com/703/php-built-in-input-filtering/