簡體   English   中英

PHP:創建自定義filter_var()常量

[英]PHP: Create custom filter_var() constants

我將如何創建用於PHP filter_var()自定義過濾器。

一個例子:

現在我有一個驗證日期的功能:

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

函數是從此答案php.net復制的

我希望能夠調用諸如FILTER_VALIDATE_DATE類的FILTER_VALIDATE_DATE並通過上面的代碼對其進行檢查。

任何幫助表示贊賞。

PHP沒有為您注冊自定義過濾器的方法,因此您不能簡單地傳遞一個新的常量。最好的辦法是使用FILTER_CALLBACK並將回調作為第三個參數傳遞,就像這樣:

$valid = filter_var($date, FILTER_CALLBACK, ['options' => 'validateDate']);

您應該使用過濾器回調函數。

$date = "2015-06-30";

echo filter_input( $date, FILTER_CALLBACK, array('options' => 'validateDate') );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM