Ensure duplicate time names can be parsed in NodaTimeSplitter (e.g.
1.1.2024-1.1.2024)
This commit is contained in:
		| @@ -1208,6 +1208,30 @@ final class NodaTimeSplitter { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Removes superfluous characters and makes an input string roughly parsable. | ||||
|      * | ||||
|      * @param string $input Input string. | ||||
|      * | ||||
|      * @return string | ||||
|      */ | ||||
|     private static function _runBasicNameCleanup(string $input):string { | ||||
|  | ||||
|         $input = trim(trim($input), ',;'); | ||||
|  | ||||
|         // Clean away duplicate inputs | ||||
|         // 1440-1440 | ||||
|         if (str_contains($input, '-')) { | ||||
|             $parts = explode('-', $input); | ||||
|             if (count($parts) === 2 && $parts[0] === $parts[1]) { | ||||
|                 $input = $parts[0]; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return $input; | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Wrapper to check if any splitting command works. | ||||
|      * | ||||
| @@ -1217,6 +1241,8 @@ final class NodaTimeSplitter { | ||||
|      */ | ||||
|     public static function attempt_splitting(string $datum):NodaSplitTime|false { | ||||
|  | ||||
|         $datum = self::_runBasicNameCleanup($datum); | ||||
|  | ||||
|         try { | ||||
|             if (!empty($moda = self::is_timespan($datum))) { | ||||
|                 return $moda; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user