Use [0-9]{4} spelling time
This commit is contained in:
parent
ff35ca7bd9
commit
4e934e380c
@ -483,16 +483,14 @@ final class NodaTimeSplitter {
|
||||
$datum = self::clean_input($datum);
|
||||
|
||||
// 10000-20000
|
||||
if (!empty(preg_match("/^[0-9][0-9][0-9][0-9][0-9](\-|\/)[0-9][0-9][0-9][0-9][0-9]$/", $datum))) {
|
||||
if (!empty(preg_match("/^[0-9]{5}(\-|\/)[0-9]{5}$/", $datum))) {
|
||||
$start = substr($datum, 0, 5);
|
||||
$end = substr($datum, 6, 5);
|
||||
return [$start, $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 0000-0000
|
||||
if (!empty(preg_match("/^[0-9][0-9][0-9][0-9](\-|\/)[0-9][0-9][0-9][0-9]$/", $datum))
|
||||
|| !empty(preg_match("/^[0-9][0-9][0-9][0-9](\-|\/)[0-9][0-9][0-9][0-9]\.$/", $datum))
|
||||
) {
|
||||
if (preg_match("/^[0-9]{4}(\-|\/)[0-9]{4}(\.|)$/", $datum)) {
|
||||
$start = substr($datum, 0, 4);
|
||||
$end = substr($datum, 5, 4);
|
||||
return [$start, $end, "00", "00", "+", ""];
|
||||
@ -538,7 +536,7 @@ final class NodaTimeSplitter {
|
||||
}
|
||||
|
||||
// Intl': 2020-12-20
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$/", $datum)) { // German Y-m
|
||||
if (preg_match("/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$/", $datum)) { // German Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$month = substr($datum, 5, 2);
|
||||
if (intval($month) < 13) {
|
||||
@ -550,7 +548,7 @@ final class NodaTimeSplitter {
|
||||
}
|
||||
}
|
||||
// Intl': 2020-12
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\-[0-9][0-9]$/", $datum)) { // German Y-m
|
||||
if (preg_match("/^[0-9]{4}\-[0-9]{2}$/", $datum)) { // German Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$month = substr($datum, 5, 2);
|
||||
if (intval($month) < 13) {
|
||||
@ -562,68 +560,68 @@ final class NodaTimeSplitter {
|
||||
}
|
||||
|
||||
// German MM.JJJJ
|
||||
if (preg_match("/^[0-9][0-9]\.[0-9][0-9][0-9][0-9]$/", $datum)) { // German Y-m
|
||||
if (preg_match("/^[0-9]{2}\.[0-9]{4}$/", $datum)) { // German Y-m
|
||||
$start = substr($datum, 3, 4);
|
||||
$month = substr($datum, 0, 2);
|
||||
return [$start, $start, $month, "00", "+", ""];
|
||||
}
|
||||
if (preg_match("/^[0-9]\.[0-9][0-9][0-9][0-9]$/", $datum)) { // German Y-m
|
||||
if (preg_match("/^[0-9]\.[0-9]{4}$/", $datum)) { // German Y-m
|
||||
$start = substr($datum, 2, 4);
|
||||
$month = "0" . substr($datum, 0, 1);
|
||||
return [$start, $start, $month, "00", "+", ""];
|
||||
}
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\.[0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^[0-9]{4}\.[0-9]{2}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$month = substr($datum, 5, 2);
|
||||
return [$start, $start, $month, "00", "+", ""];
|
||||
}
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\-[0-9][0-9]$/", $datum)) { // Time spans: 1945-46
|
||||
if (preg_match("/^[0-9]{4}\-[0-9]{2}$/", $datum)) { // Time spans: 1945-46
|
||||
$start = substr($datum, 0, 4);
|
||||
$endDigits = substr($datum, 5, 2);
|
||||
if (intval($endDigits) > 12) return [$start, substr($datum, 0, 2) . $endDigits, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 01.01.1920-31.12.1930
|
||||
if (preg_match("/^01\.01\.[0-9][0-9][0-9][0-9]\-31\.12\.[0-9][0-9][0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^01\.01\.[0-9]{4}\-31\.12\.[0-9]{4}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 6, 4);
|
||||
$end = substr($datum, -4);
|
||||
return [$start, $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 303-305 (n. Chr.)
|
||||
if (preg_match("/^[0-9][0-9][0-9]\-[0-9][0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^[0-9]{3}\-[0-9]{3}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 3);
|
||||
$end = substr($datum, -3);
|
||||
return ["0" . $start, "0" . $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 1720-120
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\-[0-9][0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^[0-9]{4}\-[0-9]{3}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$end = substr($datum, -3);
|
||||
return ["0" . $start, "0" . $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 20-30 (n. Chr.)
|
||||
if (preg_match("/^[0-9][0-9]\-[0-9][0-9]$/", $datum)) { // 20-40 (n. Chr.)
|
||||
if (preg_match("/^[0-9]{2}\-[0-9]{2}$/", $datum)) { // 20-40 (n. Chr.)
|
||||
$start = substr($datum, 0, 2);
|
||||
$end = substr($datum, -2);
|
||||
return ["00" . $start, "00" . $end, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 1920
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{4}(\.|)$/", $datum)) {
|
||||
$start = substr($datum, 0, 4);
|
||||
return [$start, $start, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
// 1920
|
||||
if (preg_match("/^[0-9][0-9][0-9]$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{3}$/", $datum)) {
|
||||
$start = "0" . substr($datum, 0, 3);
|
||||
return [$start, $start, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
if (preg_match("/^[0-9][0-9]$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{2}$/", $datum)) {
|
||||
$start = "00" . substr($datum, 0, 2);
|
||||
return [$start, $start, "00", "00", "+", ""];
|
||||
}
|
||||
@ -643,29 +641,37 @@ final class NodaTimeSplitter {
|
||||
|
||||
$datum = self::clean_input($datum);
|
||||
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]\-$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^[0-9]{4}\.[0-9]{2}\.[0-9]{2}\-$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$month = substr($datum, 5, 2);
|
||||
$day = substr($datum, 8, 2);
|
||||
return [$start, "?", $month, $day, "+", ""];
|
||||
}
|
||||
if (preg_match("/^[0-9][0-9][0-9][0-9]\.[0-9][0-9]\-$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^[0-9]{4}\.[0-9]{2}\-$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 0, 4);
|
||||
$month = substr($datum, 5, 2);
|
||||
return [$start, "?", $month, "00", "+", ""];
|
||||
}
|
||||
if (preg_match("/^[0-9]{4}\-$/", $datum)) { // Hungarian Y-
|
||||
$start = substr($datum, 0, 4);
|
||||
return [$start, "?", "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
if (preg_match("/^\-[0-9][0-9][0-9][0-9]\.[0-9][0-9]\.[0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^\-[0-9]{4}\.[0-9]{2}\.[0-9]{2}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 1, 4);
|
||||
$month = substr($datum, 6, 2);
|
||||
$day = substr($datum, 9, 2);
|
||||
return ["?", $start, $month, $day, "+", ""];
|
||||
}
|
||||
if (preg_match("/^\-[0-9][0-9][0-9][0-9]\.[0-9][0-9]$/", $datum)) { // Hungarian Y-m
|
||||
if (preg_match("/^\-[0-9]{4}\.[0-9]{2}$/", $datum)) { // Hungarian Y-m
|
||||
$start = substr($datum, 1, 4);
|
||||
$month = substr($datum, 6, 2);
|
||||
return ["?", $start, $month, "00", "+", ""];
|
||||
}
|
||||
if (preg_match("/^\-[0-9]{4}$/", $datum)) { // Hungarian -Y
|
||||
$start = substr($datum, 1, 4);
|
||||
return ["?", $start, "00", "00", "+", ""];
|
||||
}
|
||||
|
||||
if (preg_match("/^(Ab|Seit|seit)\ /", $datum)) {
|
||||
if (($spacePos = strpos($datum, " ")) === false) {
|
||||
@ -772,16 +778,16 @@ final class NodaTimeSplitter {
|
||||
}
|
||||
|
||||
// 17.-18. Jahrhundert
|
||||
if (preg_match("/^[0-9][0-9]\.\-[0-9][0-9]\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{2}\.\-[0-9]{2}\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
return self::negotiate_century_span_bce_ce(substr($datum, 0, 2), substr($datum, 4, 2));
|
||||
}
|
||||
// 17-18. Jahrhundert
|
||||
if (preg_match("/^[0-9][0-9]\-[0-9][0-9]\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{2}\-[0-9]{2}\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
return self::negotiate_century_span_bce_ce(substr($datum, 0, 2), substr($datum, 3, 2));
|
||||
}
|
||||
|
||||
// 1.-12. Jahrhundert
|
||||
if (preg_match("/^[0-9]\.\-[0-9][0-9]\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
if (preg_match("/^[0-9]\.\-[0-9]{2}\.\ (Jh\.|Jahrhundert|sz|század)$/", $datum)) {
|
||||
return self::negotiate_century_span_bce_ce(substr($datum, 0, 1), substr($datum, 3, 2));
|
||||
}
|
||||
// 1.-2. Jahrhundert
|
||||
@ -815,7 +821,7 @@ final class NodaTimeSplitter {
|
||||
return [$start, $ende, "00", "00", $bcBceIndicator, ""];
|
||||
}
|
||||
|
||||
if (preg_match("/^[0-9][0-9][0-9]0(er|er\ Jahre|\-es\ évek|\-as\ \évek)$/", $datum)) {
|
||||
if (preg_match("/^[0-9]{3}0(er|er\ Jahre|\-es\ évek|\-as\ \évek)$/", $datum)) {
|
||||
$start = substr($datum, 0, 4);
|
||||
$ende = (string)(intval($start) + 9);
|
||||
return [$start, $ende, "00", "00", $bcBceIndicator, ""];
|
||||
|
Loading…
Reference in New Issue
Block a user