- preg_match: documentation ( source)
<?php
$startTime = '19:00';
$endTime = '8:00';
if (!preg_match("~^(?|(2)\K[0-3]|([01]?)\K\d):[0-5]\d$~", $startTime, $start) ||
!preg_match("~^(?|(2)\K[0-3]|([01]?)\K\d):[0-5]\d$~", $endTime, $end) ||
(int)$start[1] . $start[0] > (int)$end[1] . $end[0]) {
// var_export($start);
echo "\nTime Error\n";
// var_export(((int)$start[1] . $start[0]) . ' versus ' . ((int)$end[1] . $end[0]));
}