2012-07-31 7 views
7

Ich habe ein Suchfeld auf meiner Website ... MySQL-Datenbank. Ich überprüfe derzeit, ob die Stichwortsuche eine Kategorie oder nur ein Satz ist, der dem Titel entspricht. Ich möchte das weiter verbessern, indem ich feststelle, ob ein Datum das Such-Keyword ist, dann wird es das wissen und SELECT * -Beiträge, die für dieses Datum relevant sind. Wie kann ich feststellen, ob es ein Datum ist oder nicht? vielleicht ein regulärer Ausdruck?PHP erkennen, wenn Suche ist Datum oder nicht

Für Ihre Informationen verwende ich das Standardformat von YYYY/MM/DD so z. 2012/07/21.

+1

Split + http://php.net/manual/en/function.checkdate.php –

+0

@KarolyHorvath +1, gibt es jede Menge Kommentare auf dieser Seite, das tut genau das, was OP will. –

+0

Danke tolle Leute –

Antwort

7

kehrt ich es mit strtotime() testen würde.

$keyword; 

$time = strtotime($keyword); 

if ($time !== false) { 
    // $keyword is a parsable date! 
} 
+0

Danke, auf Doc zu verweisen war hilfreich und benutze dies um es auszuarbeiten: D –

2

Sie könnten am PHP functionstrtotime() aussehen wollen, die einen Zeitstempel oder FALSCH, wenn kein Datum ...

1

strtotime nicht für mich arbeiten, weil Strings und ganze Zahlen Daten sind. Der folgende Code ist eine viel bessere Lösung

$value_date_array = date_parse($value); 
if(checkdate($value_date_array['month'], $value_date_array['day'], $value_date_array['year'])) 
Verwandte Themen