Vorab: Läuft alles nicht auf bplaced
(egal wie hoch das Limit für externe Zugriffe ist, ich glaube spätestens in 1-2 Monaten dürfte es in 1-2h jeden Tag erreicht sein
).
Die Idee mit der for-Schleife war gut, jetzt muss ich nur noch das ganze in verschiedene Variablen packen, daraus soll ja am Ende ein RSS-Feed generiert werden.
Hab das jetzt mal Testweise ausprobiert, es klappt auch und er gibt den Spaß aus.
Kann jetzt leider aber im Internet nichts genaues finden wie ich das ganze “verpacken” könnte nun. (Ich geb zu, MySQL basierte RSS-Feeds waren schöner…).
Hier mal übrigens der “ganze Code”. Dürfte vlt. etwas hilfreicher sein, sämtliche RSS bezogenen Dinge, sind derzeit auskommentiert:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
/*$title_feed = 'Lodestone RSS German';
$description_feed = 'German LodestoneRSS Feed';
$language_feed = 'de-DE';
$xml = new DOMDocument(‘1.0’, ‘UTF-8’);
$xml->formatOutput = true;
$roo = $xml->createElement(‘rss’);
$roo->setAttribute(‘version’, ‘2.0’);
$xml->appendChild($roo);
$cha = $xml->createElement(‘channel’);
$roo->appendChild($cha);
$hea = $xml->createElement(‘title’,utf8_encode(’’. $title_feed .’’));
$cha->appendChild($hea);
$hea = $xml->createElement(‘description’,utf8_encode(’’. $description_feed .’’));
$cha->appendChild($hea);
$hea = $xml->createElement(‘language’,utf8_encode(’’. $language_feed .’’));
$cha->appendChild($hea);
$hea = $xml->createElement(‘link’,htmlentities(‘https://api.double-spoiler.de/feed/’));
$cha->appendChild($hea);
$hea = $xml->createElement(‘lastBuildDate’,utf8_encode(date("". date(‘r’) ."").‘GMT’));
$cha->appendChild($hea);*/
$json= “https://api.double-spoiler.de/lodestone/topics?language=de”;
$options = [
‘ssl’ => [
‘verify_peer’ => false,
‘verify_peer_name’ => false,
],
];
$xiv_lodestone = file_get_contents($json, false, stream_context_create($options));
$xiv_lodestone = json_decode($xiv_lodestone);
foreach ($xiv_lodestone as $element) {
foreach($element as $key => $value){
echo “Key: “.$key.” Value: “.$value.”
”;
/$itm = $xml->createElement(‘item’);
$cha->appendChild($itm);
$dat = $xml->createElement(‘title’,utf8_encode(’’. $xiv_lodestone[‘title’] .’’));
$itm->appendChild($dat);
$dat = $xml->createElement(‘description’,utf8_encode(’’. $xiv_lodestone[‘html’] .’’));
$itm->appendChild($dat);
$dat = $xml->createElement(‘link’,htmlentities(’’. $xiv_lodestone[‘url’] .’’));
$itm->appendChild($dat);
$dat = $xml->createElement(‘pubDate’,utf8_encode(’’. $xiv_lodestone[‘timestamp’] .’’));
$itm->appendChild($dat);
$dat = $xml->createElement(‘guid’,htmlentities(’’. $xiv_lodestone[‘url’] .’’));
$itm->appendChild($dat);/
}
}
/$xml->save(‘lodestone.rss’);/
?>
Hier übrigens mal sämtliche Daten “live”:
https://static.double-spoiler.de/rss_generator.php
https://api.double-spoiler.de/lodestone/topics?language=de&pretty=1