diff --git a/src/NodaTimeSplitter.php b/src/NodaTimeSplitter.php index ba6d287..b9593b6 100644 --- a/src/NodaTimeSplitter.php +++ b/src/NodaTimeSplitter.php @@ -507,7 +507,7 @@ final class NodaTimeSplitter { if (strlen($datum) <= 9) return []; // The year is only parse-able if it is a four digit year at the start - if (self::is_numeric((string)\substr($datum, 0, 4))) { + if (self::is_numeric((string)\substr($datum, 0, 4)) && substr($datum, 4, 1) === '.') { $year = \substr($datum, 0, 4); } @@ -1114,11 +1114,21 @@ final class NodaTimeSplitter { public static function attempt_splitting(string $datum):array { $moda = NodaTimeSplitter::is_timespan($datum); - if (!$moda) $moda = NodaTimeSplitter::is_incomplete_date($datum); - if (!$moda) $moda = NodaTimeSplitter::is_valid_date($datum); - if (!$moda) $moda = NodaTimeSplitter::is_valid_date_hungarian($datum); - if (!$moda) $moda = NodaTimeSplitter::is_century($datum); - if (!$moda) $moda = NodaTimeSplitter::is_decade($datum); + if (!$moda) { + $moda = NodaTimeSplitter::is_incomplete_date($datum); + } + if (!$moda) { + $moda = NodaTimeSplitter::is_valid_date($datum); + } + if (!$moda) { + $moda = NodaTimeSplitter::is_valid_date_hungarian($datum); + } + if (!$moda) { + $moda = NodaTimeSplitter::is_century($datum); + } + if (!$moda) { + $moda = NodaTimeSplitter::is_decade($datum); + } if (!empty($moda)) { if ((int)$moda[2] > 12 || (int)$moda[3] > 31) { diff --git a/tests/NodaTimeSplitterTest.php b/tests/NodaTimeSplitterTest.php index 357e65c..81dbe1c 100644 --- a/tests/NodaTimeSplitterTest.php +++ b/tests/NodaTimeSplitterTest.php @@ -699,6 +699,8 @@ final class NodaTimeSplitterTest extends TestCase { $output = NodaTimeSplitter::attempt_splitting("65497028c51eb"); self::assertEquals($output, []); + $output = NodaTimeSplitter::attempt_splitting("6552cf08b0196 test tag"); + self::assertEquals($output, []); # $output = NodaTimeSplitter::attempt_splitting("Nach 1944-1964"); # self::assertEquals($output, []);