/** * Internal function which generates regex pattern from date pattern * * @param string $dateformat * @return string */ public static function generatePattern($dateformat) { $k = 0; $datearray = preg_split("//", $dateformat); $patternkey = array(); self::$patrVal = ""; for ($i = 0; $i < count($datearray); $i++) { if (isset($datearray[$i - 1]) && $datearray[$i - 1] == "@") { $patternkey[$i] = $datearray[$i]; } elseif ($datearray[$i] == "@") { $patternkey[$i] = ""; } elseif ($datearray[$i] == " ") { $patternkey[$i] = " "; } elseif (in_array($datearray[$i], array_keys(self::$types))) { $patternkey[$i] = self::$types[$datearray[$i]]; self::$patrVal[$k] = array_search($datearray[$i], array_keys(self::$types)); $k++; } else { $patternkey[$i] = $datearray[$i]; } } $patternkey = implode("", $patternkey); return "/" . $patternkey . "/"; }