PHP preg_match с рабочим регулярным выражением [дубликат]

This question already has an answer here:

Validate date format in php 7 answers
function validateDate( $date )
{ 
    echo $date;
    //2012-08-24 20:30:00
    if(preg_match('/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([1-2]{1})([0-9]{1}):([0-5]{1})([0-9]{1}):([0-5]{1})([0-9]{1})$/', $date) >= 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}

Это всегда возвращает ложь. Я использовал единственный инструмент для создания регулярных выражений, и там он работал нормально. Проблемы начались, когда я добавил & quot; / & quot; к регулярному выражению Почему-то PHP, кажется, требует этого, но я не знаю почему, и я не знаю, почему это нарушает мое регулярное выражение.

Он должен вернуть TRUE для чего-то. как & quot; 2012-08-24 20: 30: 00 & quot; и FALSE для & quot; asdf2012-08-24 20: 30: 00asdf & quot; или что-нибудь, что не соответствует моему регулярному выражению

Заранее спасибо!

-----------------------РЕДАКТИРОВАТЬ Спасибо за все ваши ответы!

Как отмечали некоторые пользователи, моя функция возвращает значение true для даты выборки "2012-08-24 20: 30: 00". Однако это происходит только в том случае, если я вручную установил $ date = '2012-08-24 20: 30: 00'. Если я вызываю функцию в другом месте моего кода с точно такой же строкой, она возвращает false. Кто-нибудь знает почему?

----------------------- EDIT2

Да, извините за трату вашего времени, это был фактически какой-то пробел, который был добавлен в строку. использование trim () в моей дате перед вызовом моей функции теперь дает правильный результат.

Спасибо всем!

Ответы на вопрос(3)

Ваш ответ на вопрос