(.+)<\/div>(.+)<\/div>/si"; $reg = "/ class=\"(.{1,20})\"| /i"; if (preg_match($text, $artikelRoh, $treffer)) { $artikelFertig = $treffer[0]; $artikelFertig = strip_tags($artikelFertig, '
'); $artikelFertig = str_replace("/bilder/","http://www.heise.de/bilder/",$artikelFertig); $artikelFertig = str_replace(" /newsticker/"," http://www.heise.de/newsticker/",$artikelFertig); $artikelFertig = htmlspecialchars($artikelFertig); file_put_contents(CACHEFOLDER."/".$date."-".$id.".txt",$artikelFertig); } else { $artikelFertig = "Es konnte kein Artikeltext extrahiert werden"; } } } /* Alte Artikel im Cacheordner löschen */ $files = scandir(CACHEFOLDER); while(count($files) > MAXARTIKELS) { unlink(CACHEFOLDER."/".$files[2]); $files = scandir(CACHEFOLDER); } return $artikelFertig; } /* Mit ?do=reload werden alle Artikel des Feeds neu eingelesen. Mit ?do=sync *wird nur überprüft ob es neue Artikel gibt. */ if($_GET["do"]=="reload" or $_GET["do"]=="sync" or !file_exists(CACHEFOLDER."/"."feed.txt") or time() - filemtime(CACHEFOLDER."/"."feed.txt") > FEEDINTERVAL) { $xml = DOMDocument::load("http://www.heise.de/newsticker/heise-atom.xml"); $entrys = $xml->getElementsByTagName('entry'); /* Eigene URL setzen */ $xml->getElementsByTagName('link')->item(1)->attributes->item(1)->nodeValue="www.YOURURLHERE.com"; for ($i=0; $i < $entrys->length; $i++) { $entry = $entrys->item($i); $id = getId($entry->getElementsByTagName('id')->item(0)->nodeValue); $date = $entry->getElementsByTagName('updated')->item(0)->nodeValue; $entry->getElementsByTagName('summary')->item(0)->setAttribute('type','html'); /* Setze das Datum zurück, falls der Artikel nicht upgedated wurde. * Heise verändert das Datum bei der Hälfte der Artikel, ohne dass sich * der Inhalt ändert. Darum wird nur ein Update gemacht, wenn auch * "Update" im Title steht. */ if(!preg_match("/\[update\]/i",$entry->getElementsByTagName('title')->item(0)->nodeValue)) { $files = scandir(CACHEFOLDER); foreach($files as $file) { if(preg_match("/.+-".$id.".txt/", $file)) { $date = substr($file,0,25); $entry->getElementsByTagName('updated')->item(0)->nodeValue = $date; } } } $artikelInhalt = getArtikel($id, $date); $entrys->item($i)->getElementsByTagName('summary')->item(0)->nodeValue = $artikelInhalt; } $feed = $xml->saveXML(); file_put_contents(CACHEFOLDER."/"."feed.txt",$feed); echo $feed; } else { echo file_get_contents(CACHEFOLDER."/"."feed.txt"); } ?>