3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php /** * @param string $date format rrrr-mm-dd * @return mixed - false or date format d.m.rrrr which really exists */ function typicalFormat($date){ $date = explode('-', $date); if(count($date) == 3){ $year = $date[0]; $date[1] = preg_replace('~^0~', '', $date[1]); $date[0] = preg_replace('~^0~', '', $date[2]); $date[2] = $year; $date = implode('.', $date); if($this->existsDate($date) == 1){ return $date; } return false; } return false; } /** * @param string $date format d.m.rrrr * @return bool * @copyright Jakub Vrána, http://php.vrana.cz/ */ function existsDate($date){ return preg_match('~^([1-9]|19|[12][0-8]|29(?=\\.([^2]|2\\.(([02468][048]|[13579][26])00|[0-9]{2}(0[48]|[2468][048]|[13579][26]))))|30(?=\\.[^2])|31(?=\\.([13578][02]?\\.)))\\.([1-9]|1[012])\\.[0-9]{4}$~D', $date); } var_dump(typicalFormat('2014-10-08')); die();
based on BfJf9
Output for 7.0.0 - 7.1.0
Fatal error: Uncaught Error: Using $this when not in object context in /in/B3otl:17 Stack trace: #0 /in/B3otl(36): typicalFormat('8.10.2014') #1 {main} thrown in /in/B3otl on line 17
Process exited with code 255.
Output for hhvm-3.10.0 - 3.12.0
Notice: Undefined variable: this in /in/B3otl on line 17 Fatal error: Uncaught exception 'BadMethodCallException' with message 'Call to a member function existsDate() on a non-object (null)' in /in/B3otl:17 Stack trace: #0 /in/B3otl(36): typicalFormat() #1 {main}
Process exited with code 255.
Output for 5.0.0 - 5.6.28
Fatal error: Using $this when not in object context in /in/B3otl on line 17
Process exited with code 255.
Output for 4.3.2 - 4.4.9
Fatal error: Call to a member function on a non-object in /in/B3otl on line 17
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to a member function on a non-object in /in/B3otl on line 17