find('a') as $element) { $href = $element->href; if (preg_match('/\\.pdf($|\\?)/i', $href)) { $item = []; $item['title'] = trim(strip_tags($element->innertext)); // Absolute URL bauen, falls nötig if (strpos($href, 'http') !== 0) { $item['uri'] = 'https://www.sulzdorf-adl.de' . $href; } else { $item['uri'] = $href; } $item['content'] = 'PDF öffnen'; $item['enclosures'] = [$item['uri']]; // Verbesserte Datumserkennung: Jahr und Quartal (Monatsbereich) extrahieren $jahr = null; $monat = null; if (preg_match('/(\d{4})/', $item['title'], $jahrMatch)) { $jahr = $jahrMatch[1]; } if (preg_match('/(Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)/u', $item['title'], $monatMatch)) { $monat = $monatMatch[1]; } // Quartalslogik: Wenn "Januar" oder "März" => 1.1., "April" oder "Juni" => 1.4., "Juli" oder "September" => 1.7., "Oktober" oder "Dezember" => 1.10. $quartalStart = [ 'Januar' => '01', 'Februar' => '01', 'März' => '01', 'April' => '04', 'Mai' => '04', 'Juni' => '04', 'Juli' => '07', 'August' => '07', 'September' => '07', 'Oktober' => '10', 'November' => '10', 'Dezember' => '10', ]; if ($jahr && $monat && isset($quartalStart[$monat])) { $item['timestamp'] = strtotime($jahr . '-' . $quartalStart[$monat] . '-01'); } else { $item['timestamp'] = time(); } $item['author'] = 'Gemeinde Sulzdorf a.d.L.'; $this->items[] = $item; } } } }