PHP:创建自定义 filter_var() 常量

标签 php constants filter-var

我将如何创建用于 PHP 的自定义过滤器 filter_var() .

一个例子:

现在我有一个功能来验证日期:

    private function validateDate($date){
        $d = DateTime::createFromFormat('Y-m-d', $date);
        return $d && $d->format('Y-m-d') == $date;
    }

函数是从这里复制的 answerphp.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/

相关文章:

php - "composer update"和 "composer upgrade"有什么区别?

c - C语言"Expected expression"错误

javascript - 为什么我可以更改 javascript 中的常量对象

使用 filter_var 的 PHP 验证 boolean 值

javascript - 仅在单击 anchor 时生成 url

PHP 日期时间与 MySQL 日期时间

php - LAMP 多个网站

java - 通过对象访问时静态最终字段和在声明时初始化的实例最终字段之间的差异

php - filter_var boolean 值返回 false

PHP filter_var URL