Fix edge cases in time splitter where inputs start with many digits but
are not dates
This commit is contained in:
parent
93c0ff3fa0
commit
1a7dbcd6f6
@ -514,10 +514,13 @@ final class NodaTimeSplitter {
|
||||
// Further code requires a year to be present, skip if none is set
|
||||
if (empty($year)) return [];
|
||||
|
||||
// Skip, if dates are too long and do not contain spaces (= no translatable names)
|
||||
if (str_contains($datum, " ") === false && strlen($datum) > 12) return [];
|
||||
|
||||
foreach (self::MONTH_NAMES_HUNGARIAN as $monthVal => $monthValidNames) {
|
||||
if (self::stri_occurs($datum, $monthValidNames)) {
|
||||
if (!empty($monat)) return [];
|
||||
$monat = (string)$monthVal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -695,6 +695,9 @@ final class NodaTimeSplitterTest extends TestCase {
|
||||
$output = NodaTimeSplitter::attempt_splitting("6;November 1978");
|
||||
self::assertEquals($output, []);
|
||||
|
||||
$output = NodaTimeSplitter::attempt_splitting("65497028c51eb");
|
||||
self::assertEquals($output, []);
|
||||
|
||||
# $output = NodaTimeSplitter::attempt_splitting("Nach 1944-1964");
|
||||
# self::assertEquals($output, []);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user