From 56aaf30cb4b6fed52bfb80166a2a5d2ea94e8775 Mon Sep 17 00:00:00 2001 From: Akamaru Date: Fri, 25 Apr 2025 18:41:50 +0200 Subject: [PATCH] =?UTF-8?q?F=C3=BCge=20Ananta=20Game=20News=20Bridge=20hin?= =?UTF-8?q?zu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AnantaBridge.php | 90 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 4 +++ 2 files changed, 94 insertions(+) create mode 100644 AnantaBridge.php diff --git a/AnantaBridge.php b/AnantaBridge.php new file mode 100644 index 0000000..0c4162a --- /dev/null +++ b/AnantaBridge.php @@ -0,0 +1,90 @@ +find('.news-item') as $element) { + + if(count($this->items) >= 10) { + break; + } + + $item = array(); + + // Get article URI (link) + $item['uri'] = $element->href; + + // Get article title + $title_element = $element->find('.news-title', 0); + if ($title_element) { + $item['title'] = trim(strip_tags($title_element->innertext)); + } + + // Get article description/content + $desc_element = $element->find('.news-desc', 0); + if ($desc_element) { + $article_content = trim(strip_tags($desc_element->innertext)); + } else { + $article_content = ''; + } + + // Get article date + $date_element = $element->find('.news-date', 0); + if ($date_element) { + $article_date = trim(strip_tags($date_element->innertext)); + $item['timestamp'] = strtotime($article_date); + } + + // Get article category + $tag_element = $element->find('.js-news-tag', 0); + if ($tag_element) { + $article_category = trim(strip_tags($tag_element->innertext)); + $item['categories'] = array($article_category); + } + + // Get article image + $img_element = $element->find('.news-item-right img', 0); + if ($img_element) { + $article_thumbnail = $img_element->src; + $item['enclosures'] = array($article_thumbnail); + } + + // Build content with image and text + $content = ''; + if (isset($article_thumbnail)) { + $content .= '' . htmlspecialchars($item['title']) . ''; + } + if ($article_content) { + $content .= '

' . $article_content . '

'; + } + if (isset($article_category)) { + $content .= '

Category: ' . $article_category . '

'; + } + if (isset($article_date)) { + $content .= '

Date: ' . $article_date . '

'; + } + + $item['content'] = $content; + + // Generate unique ID + $item['uid'] = $item['uri']; + + $this->items[] = $item; + } + } +} \ No newline at end of file diff --git a/README.md b/README.md index 305b315..d855e24 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,10 @@ Diese Sammlung enthält verschiedene Bridge-Implementierungen für RSS-Bridge, u - **Vollständige Detailseiten**: Wenn aktiviert, werden zusätzliche Informationen von den Detailseiten abgerufen (langsamer) - **Besonderheiten**: Verwendet den FreshRSS User-Agent zum Umgehen von CloudFlare-Schutz +### Ananta Game News Bridge +- **Beschreibung**: Generiert einen RSS-Feed für Ananta Game Neuigkeiten +- **Besonderheiten**: Extrahiert Titel, Inhalte, Bilder, Kategorien und Datum der News-Einträge + ## Installation 1. Kopiere die gewünschten Bridge-Dateien in das `bridges`-Verzeichnis deiner RSS-Bridge-Installation