我将如何创建用于 PHP 的自定义过滤器 filter_var()
.
一个例子:
现在我有一个功能来验证日期:
private function validateDate($date){
$d = DateTime::createFromFormat('Y-m-d', $date);
return $d && $d->format('Y-m-d') == $date;
}
函数是从这里复制的 answer或 php.net
我希望能够调用像
FILTER_VALIDATE_DATE
这样的常量并通过上面的代码检查它。任何帮助表示赞赏。
最佳答案
PHP 没有办法让你注册自定义过滤器,所以你不能简单地创建一个新的常量来传入。你能做的最好的事情是使用 FILTER_CALLBACK
并将回调作为第三个参数传入,如下所示:
$valid = filter_var($date, FILTER_CALLBACK, ['options' => 'validateDate']);
关于PHP:创建自定义 filter_var() 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31145878/