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

На этот вопрос уже есть ответ здесь:

Подтвердите формат даты в php 7 ответов
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;
    }
}

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

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

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

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

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

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

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

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

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

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