From 8637c0418b564a23cfa03fd4852f1d983612d100 Mon Sep 17 00:00:00 2001 From: Akamaru Date: Mon, 24 Nov 2025 19:27:04 +0100 Subject: [PATCH] ARDMediathekSeriesBridge: Besserer Itemtitel --- ARDMediathekSeriesBridge.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ARDMediathekSeriesBridge.php b/ARDMediathekSeriesBridge.php index 06af1fc..51b9b26 100644 --- a/ARDMediathekSeriesBridge.php +++ b/ARDMediathekSeriesBridge.php @@ -59,7 +59,7 @@ class ARDMediathekSeriesBridge extends BridgeAbstract } // Extrahiere Serien-Informationen - $this->seriesTitle = $data['title'] ?? 'Unbekannte Serie'; + $this->seriesTitle = trim($data['title'] ?? 'Unbekannte Serie'); $this->seriesDescription = $data['synopsis'] ?? ''; // Die Episoden befinden sich im ersten Widget unter 'teasers' @@ -83,7 +83,17 @@ class ARDMediathekSeriesBridge extends BridgeAbstract $item = []; // Titel der Episode - $item['title'] = $teaser['longTitle'] ?? $teaser['mediumTitle'] ?? $teaser['shortTitle'] ?? 'Unbekannter Titel'; + $episodeTitle = $teaser['longTitle'] ?? $teaser['mediumTitle'] ?? $teaser['shortTitle'] ?? 'Unbekannter Titel'; + + // Extrahiere Staffel-/Episodeninfo wie "(S16/E01)" und formatiere zu "S16E01" + $seasonEpisode = ''; + if (preg_match('/\(S(\d+)\/E(\d+)\)/', $episodeTitle, $matches)) { + $seasonEpisode = 'S' . $matches[1] . 'E' . $matches[2] . ' '; + // Entferne die Staffel-/Episodeninfo aus dem Episodentitel + $episodeTitle = trim(preg_replace('/\s*\(S\d+\/E\d+\)\s*$/', '', $episodeTitle)); + } + + $item['title'] = $this->seriesTitle . ' ' . $seasonEpisode . $episodeTitle; // URL zur Episode $episodeId = $teaser['id'] ?? '';