Preg_match PHP z działającym wyrażeniem regularnym [duplikat]

To pytanie ma już tutaj odpowiedź:

Sprawdź poprawność formatu daty w php 7 odpowiedzi
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;
    }
}

To zawsze zwraca false. Użyłem jedynego narzędzia do zbudowania wyrażenia regularnego i działało tam dobrze. Problem zaczął się, gdy dodałem „/” do wyrażenia regularnego. W jakiś sposób PHP wydaje się wymagać ich, ale nie wiem dlaczego i nie wiem, dlaczego łamie mój regex.

Powinien zwracać TRUE za sth. jak „2012-08-24 20:30:00” i FAŁSZ dla „asdf2012-08-24 20: 30: 00asdf” lub coś, co nie jest zgodne z moim wyrażeniem regularnym

Z góry dziękuję!

----------------------- EDYTUJ Dziękujemy za wszystkie odpowiedzi!

Jak zauważyli niektórzy użytkownicy, moja funkcja zwraca wartość true dla daty próbnej „2012-08-24 20:30:00”. Jednak robi to tylko wtedy, gdy ręcznie ustawię $ date = '2012-08-24 20:30:00 ”. Jeśli wywołam funkcję w innym miejscu w moim kodzie z dokładnie takim samym łańcuchem, zwraca ona false. Czy ktoś wie dlaczego?

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

Tak, przepraszam za marnowanie czasu, w rzeczywistości był to jakiś biały znak, który został dodany do ciągu. użycie trim () w mojej dacie przed wywołaniem mojej funkcji daje teraz poprawny wynik.

Dziękuję wszystkim!

questionAnswers(4)

yourAnswerToTheQuestion