嘗試將閉包傳遞給filter_var_array(),但似乎無法使其工作。php FILTER_CALLBACK with closure
$clean = function($html) {
return HTML::sanitize($html, array('p','ul','ol','li'), array('class','style'));
};
$args = array('filter' => FILTER_CALLBACK, 'options' => $clean);
$fields = filter_var_array(
array($_POST['field1'], $_POST['field2'], $_POST['field3']),
array('field1' => $args, 'field2' => $args, 'field3' => $args)
);
以上運行後,$ fields是一個空數組。
注意,單獨的過濾工作正常:
$field1= filter_var($_POST['field1'], FILTER_CALLBACK, array('options' => $clean));
任何想法?
*(阿里納斯)*您可以在'$ _POST'傳遞一個新的數組 – Gordon
@Gordon從包裹它的字段,而不是直接:其實這是造成問題。 – hakre
我強烈建議您閱讀手冊中給出的示例:http://php.net/manual/en/function.filter-var-array.php - 應使用法更清晰。 – hakre