Atom 1.0 RSS als Popup WebFront ausgeben

Zuerst mal warum wieder ein neues RSS Skript?
Das bisher von mir verwendete RSS Skript hier aus dem Forum (RSS Feeds Newsscript) kam nicht mit dem Atom 1.0 Format zurecht, was immer häufiger Anwendung findet. Dazu kam noch, das ich das Skript von Korney, für meine Zwecke, als etwas „over sized“ empfand. Daher suchte ich nach einer, auch für einen Anfänger wie mich, nachvollziehbaren Lösung, auf der Grundlage des „simplexml_load_file“ PHP Befehls, da er mir sehr einfach zu verwenden schien.

Herausgekommen ist ein kurzes und knackiges Skript, das sowohl mit IPS 1.0 bis 2.1 und IPS 2.2 beta kompatibel ist. Ich habe versucht, jede Zeile zu dokumentieren, damit es für jeden verständlich und anpassbar ist.

Bei meiner Lösung werden auch eine Variablen angelegt, sondern alles direkt in einen String gepackt und als HTML ausgegeben. Ich hoffe, das der Eine oder Andere etwas damit anfangen kann. Auch andere Atom 1.0 RSS Feeds sollten sich damit, ohne größere Anpassungen, auslesen und darstellen lassen.

Jetzt aber erst mal das Skript:

<?
 $xml = simplexml_load_file('http://www.heise.de/newsticker/heise-atom.xml'); // URL des Atom 1.0 RSS Feeds
 $news_count = count($xml->entry); // Anzahl der im RSS Feed vorhandenen News
 $news_want = 10; // Anzahl der gewünschten, anzuzeigenden News
 $rss_feed = '<div><a href="http://www.heise.de/newsticker/heise-atom.xml" target="_blank"><center><H3><U>RSS Feeds von heise.de</U></H3></center></a></div>'; // Titel des Feeds
 if($news_count < $news_want) // Wenn Anzahl der vorhandenen News kleiner der gewünschten News ...
 {$news_want = $news_count;} // dann Anzahl der vorhandene News gleich den gewünschten News.

//Hier werden die News, in der gewünschten Anzahl, eingelesen und formartiert.
 for($i=0;$i<$news_want;$i++) {
 $wert = $xml->entry[$i];
 $news = $wert->title;
 $news=text_formatierung($news);
 $link = $wert->id;
 $date = $wert->updated;
 $date = date_formatierung($date);
 $rss_feed .= '<div><strong><a href="'.$link.'" target="_blank">'.$date.$news."</a></strong></div><br>";
 }
 //echo $rss_feed; // Zur Kontrolle oder als Ausgabe in IPS Version 1.0 bis 2.1
 WFC_SendPopup(26191 /*[WebFront Configurator]*/, "heide.de RSS News",  $rss_feed); // WFC Popup Ausgabe für IPS ab Version 2.2 - Hier ID und Titel anpassen.

// Funktion zur Datums Format anpassung, kann individuell verändert werden.
function date_formatierung($date){
$year = substr($date,0,4);
$month = substr($date,5,2);
$day = substr($date,8,2);
$hour = substr($date,11,2);
$minute = substr($date,14,2);
$second = substr($date,17,2);
$date = $day.".".$month.".".$year." - ".$hour.":".$minute." Uhr - ";
return $date;
}

// Funktion zur News Formatierung , kann individuell erweitert werden.
function text_formatierung($news){
$news=strip_tags($news);
$news=html_entity_decode($news);
$news=str_replace("         ", " ", $news);
$news=str_replace("ö", "ö", $news);
$news=str_replace("Ãœ", "Ü", $news);
$news=str_replace("ü", "ü", $news);
$news=str_replace("ä", "ä", $news);
$news=str_replace("ß", "ß", $news);
$news=str_replace("&ndash;", "-", $news);
$news=str_replace('&#039;', "`", $news);
$news=str_replace("&", "&", $news);
$news=str_replace("Ö", "Ö", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("–", "-", $news);
$news=preg_replace("/\r|
/s", "", $news);
return $news;
}
?&gt;

Und noch einen Screenshot des ganzen, wie es dann aussieht:

klasse, läuft auf anhieb

Danke !! ohne Probleme eingebaut

[b]Na dann hab ich hier noch ein paar weitere RSS Feeds für euch:

Bild.de RSS News in der „Kurzform“:[/b]


<?
 $xml = simplexml_load_file('http://rss.bild.de/bild.xml'); // URL des Atom 1.0 RSS Feeds

 $news_count = count($xml->channel->item); // Anzahl der im RSS Feed vorhandenen News
 $news_want = 10; // Anzahl der gewünschten, anzuzeigenden News
 $rss_feed = '<div><a href="http://rss.bild.de/bild.xml" target="_blank"><center><H3><U>RSS Feeds von Bild.de</U></H3></center></a></div>'; // Titel des Feeds
 if($news_count < $news_want) // Wenn Anzahl der vorhandenen News kleiner der gewünschten News ...
 {$news_want = $news_count;} // dann Anzahl der vorhandene News gleich den gewünschten News.

//Hier werden die News, in der gewünschten Anzahl, eingelesen und formartiert.
 for($i=0;$i<$news_want;$i++) {
 $wert = $xml->channel->item[$i];
 $news = $wert->title;
 $news=text_formatierung($news);
 $link = $wert->link;
 $date = $wert->pubDate;
 $date = date_formatierung($date);
 $rss_feed .= '<div><strong><a href="'.$link.'" target="_blank">'.$date.$news."</a></strong></div><br>";
 }
//echo $rss_feed; // Zur Kontrolle oder als Ausgabe in IPS Version 1.0 bis 2.1
WFC_SendPopup(26191 /*[WebFront Configurator]*/, "Bild.de RSS News",  $rss_feed); // WFC Popup Ausgabe für IPS ab Version 2.2 - Hier ID und Titel anpassen.

// Funktion zur Datums Format anpassung, kann individuell verändert werden.
function date_formatierung($date){
$len = (strpos($date,':')+2);
$date = substr($date,5,$len)." Uhr - ";
return $date;
}

// Funktion zur News Formatierung , kann individuell erweitert werden.
function text_formatierung($news){
$news=strip_tags($news);
$news=html_entity_decode($news);
$news=str_replace("         ", " ", $news);
$news=str_replace("ö", "ö", $news);
$news=str_replace("Ãœ", "Ü", $news);
$news=str_replace("ü", "ü", $news);
$news=str_replace("ä", "ä", $news);
$news=str_replace("ß", "ß", $news);
$news=str_replace("&ndash;", "-", $news);
$news=str_replace('&#039;', "`", $news);
$news=str_replace("&", "&", $news);
$news=str_replace("Ö", "Ö", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("–", "-", $news);
$news=preg_replace("/\r|
/s", "", $news);
return $news;
}
?&gt;


dann hier Spiegel.de als Kontrast zu Bild:


<?
 $xml = simplexml_load_file('http://www.spiegel.de/schlagzeilen/index.rss'); // URL des Atom 1.0 RSS Feeds

 $news_count = count($xml->channel->item); // Anzahl der im RSS Feed vorhandenen News
 $news_want = 10; // Anzahl der gewünschten, anzuzeigenden News
 $rss_feed = '<div><a href="http://www.spiegel.de/schlagzeilen/index.rss" target="_blank"><center><H3><U>RSS Feeds von Spiegel.de</U></H3></center></a></div>'; // Titel des Feeds
 if($news_count < $news_want) // Wenn Anzahl der vorhandenen News kleiner der gewünschten News ...
 {$news_want = $news_count;} // dann Anzahl der vorhandene News gleich den gewünschten News.

//Hier werden die News, in der gewünschten Anzahl, eingelesen und formartiert.
 for($i=0;$i<$news_want;$i++) {
 $wert = $xml->channel->item[$i];
 $news = $wert->title;
 $news=text_formatierung($news);
 $link = $wert->link;
 $date = $wert->pubDate;
 $date = date_formatierung($date);
 $rss_feed .= '<div><strong><a href="'.$link.'" target="_blank">'.$date.$news."</a></strong></div><br>";
 }
 //echo $rss_feed; // Zur Kontrolle oder als Ausgabe in IPS Version 1.0 bis 2.1
WFC_SendPopup(26191 /*[WebFront Configurator]*/, "Spiegel.de RSS News",  $rss_feed); // WFC Popup Ausgabe für IPS ab Version 2.2 - Hier ID und Titel anpassen.

// Funktion zur Datums Format anpassung, kann individuell verändert werden.
function date_formatierung($date){
$len = (strpos($date,'+')-1);
$date = substr($date,0,$len)." Uhr - ";
return $date;
}

// Funktion zur News Formatierung , kann individuell erweitert werden.
function text_formatierung($news){
$news=strip_tags($news);
$news=html_entity_decode($news);
$news=str_replace("         ", " ", $news);
$news=str_replace("ö", "ö", $news);
$news=str_replace("Ãœ", "Ü", $news);
$news=str_replace("ü", "ü", $news);
$news=str_replace("ä", "ä", $news);
$news=str_replace("ß", "ß", $news);
$news=str_replace("&ndash;", "-", $news);
$news=str_replace('&#039;', "`", $news);
$news=str_replace("&", "&", $news);
$news=str_replace("Ö", "Ö", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("–", "-", $news);
$news=preg_replace("/\r|
/s", "", $news);
return $news;
}
?&gt;

und zum guten Schluss noch die gute alte Tagesschau:


<?
 $xml = simplexml_load_file('http://www.tagesschau.de/xml/tagesschau-meldungen/'); // URL des Atom 1.0 RSS Feeds

 $news_count = count($xml->channel->item); // Anzahl der im RSS Feed vorhandenen News
 $news_want = 10; // Anzahl der gewünschten, anzuzeigenden News
 $rss_feed = '<div><a href="http://www.tagesschau.de/xml/tagesschau-meldungen/" target="_blank"><center><H3><U>RSS Feeds von tagesschau.de</U></H3></center></a></div>'; // Titel des Feeds
 if($news_count < $news_want) // Wenn Anzahl der vorhandenen News kleiner der gewünschten News ...
 {$news_want = $news_count;} // dann Anzahl der vorhandene News gleich den gewünschten News.

//Hier werden die News, in der gewünschten Anzahl, eingelesen und formartiert.
 for($i=0;$i<$news_want;$i++) {
 $wert = $xml->channel->item[$i];
 $news = $wert->title;
 $news=text_formatierung($news);
 $link = $wert->link;
 $rss_feed .= '<div><strong><a href="'.$link.'" target="_blank">'.$news."</a></strong></div><br>";
 }
 //echo $rss_feed; // Zur Kontrolle oder als Ausgabe in IPS Version 1.0 bis 2.1
WFC_SendPopup(26191 /*[WebFront Configurator]*/, "tagesschau.de RSS News",  $rss_feed); // WFC Popup Ausgabe für IPS ab Version 2.2 - Hier ID und Titel anpassen.

// Funktion zur Datums Format anpassung, kann individuell verändert werden.
function date_formatierung($date){
$len = (strpos($date,'+')-1);
$date = substr($date,0,$len)." Uhr - ";
return $date;
}

// Funktion zur News Formatierung , kann individuell erweitert werden.
function text_formatierung($news){
$news=strip_tags($news);
$news=html_entity_decode($news);
$news=str_replace("         ", " ", $news);
$news=str_replace("ö", "ö", $news);
$news=str_replace("Ãœ", "Ü", $news);
$news=str_replace("ü", "ü", $news);
$news=str_replace("ä", "ä", $news);
$news=str_replace("ß", "ß", $news);
$news=str_replace("&ndash;", "-", $news);
$news=str_replace('&#039;', "`", $news);
$news=str_replace("&", "&", $news);
$news=str_replace("Ö", "Ö", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("“", "\"", $news);
$news=str_replace("„", "\"", $news);
$news=str_replace("–", "-", $news);
$news=str_replace("–", "-", $news);
$news=preg_replace("/\r|
/s", "", $news);
return $news;
}
?&gt;


Anhand der beispiele sollte jetzt jeder selber in der Lage sein, sich seine RSS Feeds auf gleiche Weise einzubauen, denke ich.

…von mir auch noch einer, mit Bildchen. :slight_smile:

<?
$simpleXMLElement = simplexml_load_file("http://www.tvmovie.de/rss/tvjetzt.xml"); // URL des RSS Feeds
$senderAnzahl = 15; // Anzahl der anzuzeigenden Sender

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
    $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     $titel = "<b style=color:#C00000;>".$item['title']."</b>"; // Textfarbe anpassen
     $beschreibung = "<small>".$item['description']."</small>";
     $text = $titel."<br>".$beschreibung."<br>";
     $text = formatText($text);
     $searchArray = $item;
     echo "<table width='980px'>";
     if(array_key_exists('enclosure', $searchArray))
     {
         $image = $item['enclosure']['@attributes']['url'];
        echo "<tr>";
        echo "<td width='auto'height='80px'><div><img src=$image alt='not Found'></div></td>";
        echo "<td width='980px'><div style='text-align:left; margin-left:10px;'>$text</div></td>";
        echo "</tr>
";
    }
    else
    {
        echo "<tr>";
        echo "<td width='980px'><div style='text-align:left; margin-left:95px;'>$text</div></td>";
        echo "</tr>
";
    }
    echo "</table>
";
}


function xmlToArray($data)
{
    if(is_object($data))
    {
        $data = get_object_vars($data);
    }
      return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}

// Textformatierung
function formatText($text)
{
    $text = html_entity_decode($text);
    $text = str_replace("ö", "ö", $text);
    $text = str_replace("Ãœ", "Ü", $text);
    $text = str_replace("ü", "ü", $text);
    $text = str_replace("ä", "ä", $text);
    $text = str_replace("ß", "ß", $text);
    $text = str_replace("&ndash;", "-", $text);
    $text = str_replace('&#039;', "`", $text);
    $text = str_replace("&", "&", $text);
    $text = str_replace("Ö", "Ö", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("é", "é", $text);
    $text = str_replace("Ä", "Ä", $text);
    return $text;
}

?&gt;

Danke Rainer. Ich habe gleich wieder etwas angepasst, um eine Stringvariable zu setzen, die ich dann mit einem Browser-Element im Dashboard anzeigen kann.

Die Tabelle müsste außerhalb der For-Schleife geöffnet und geschlossen werden, wenn du eine Tabelle erreichen möchtest.
Oder der else-Zweig benötigt auch noch <table>…</table>, wenn du je Eintrag eine Tabelle haben möchtest.

Hallo Ralf,

ich kann dir jetzt nicht so ganz folgen :confused: Lass mich nicht dumm sterben.

ich kann dir jetzt nicht so ganz folgen Lass mich nicht dumm sterben.

Sorry, es war spät und ich etwas wortkarg.

Mit deinem Code wird folgende HTML-Struktur erzeugt, wenn der erste Eintrag ein Bild hat, der Zweite nicht und der Dritte wieder mit Bild (// Kommentare von mir):


// Erster Eintrag
<table>
<tr><td>bild</td><td>beschreibung</td></tr>
</table>
// Zweiter Eintrag
<tr><td>beschreibung</td></tr>
// Dritter Eintrag
<table>
<tr><td>bild</td><td>beschreibung</td></tr>
</table>
...

Damit ist die Tabellenstruktur „verhunzt“, d.h. einzelne Tabellen je Eintrag und eine defekte Tabelle, wenn der Eintrag kein Bild enthält.

Um nur eine Tabelle zu erzeugen, würde ich folgenden Code nehmen:

     
<?
$simpleXMLElement = simplexml_load_file('http://www.tvmovie.de/rss/tvjetzt.xml'); // URL des RSS Feeds
$senderAnzahl = 10; // Anzahl der anzuzeigenden Sender

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
     $item = $simpleXMLElement->channel->item;
     $item = xmlToArray($item[$i]);
     $titel = $item['title'];
     $beschreibung = $item['description'];
     $text = strip_tags($titel)."
".strip_tags($beschreibung)."
";
     $text = formatText($text);
     $searchArray = $item;
echo "<table width='auto' align='center'>";
if(array_key_exists('enclosure', $searchArray))
     {
         $image = $item['enclosure']['@attributes']['url'];
        echo "<tr>";
        echo "<td width='auto'height='80px'><div align='left'><img src=$image alt='not Found'></div></td>";
        echo "<td width='auto'><div align='left'>$text</div></td>";
        echo "</tr>
";
        echo "</table>
";
    }
    else
    {
        echo "<tr>";
        echo "<td width='auto'height='80px'><div align='left'> </div></td>";
        echo "<td width='auto'><div align='left'>$text</div></td>";
        echo "</tr>
";
    }
    
}
echo "</table>
";


function xmlToArray($data)
{
    if (is_object($data))
    {
        $data = get_object_vars($data);
    }
      return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}

// Textformatierung
function formatText($text)
{
    $text = html_entity_decode($text);
    $text = str_replace("ö", "ö", $text);
    $text = str_replace("Ãœ", "Ü", $text);
    $text = str_replace("ü", "ü", $text);
    $text = str_replace("ä", "ä", $text);
    $text = str_replace("ß", "ß", $text);
    $text = str_replace("&ndash;", "-", $text);
    $text = str_replace('&#039;', "`", $text);
    $text = str_replace("&", "&", $text);
    $text = str_replace("Ö", "Ö", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("–", "-", $text);
    return $text;
}

?&gt;


Aktuell ungetestet ;).

Die erst eingetragenen "
" filterst du danach mit formatText() (darin strip_tags()) wieder raus. Den Unterschied siehst du in deinem bzw. meinem Bild ;).

Ich würde das strip_tags() aus der Funktion formatText() entfernen und die folgende Zeile oben einsetzen:

     $text = strip_tags($titel)."
".strip_tags($beschreibung)."
";

Die "
" müssten ja in der Beta 2.2 korrekt behandelt werden. Ansonsten wäre die Verwendung von „<br />“ besser.

Habs noch ein wenig abgeändert. Hoffe, es ist so genehm. :wink:

Super ! Integriert und läuft einwandfrei. Danke @Ralf + Rainer

eine Off-Topic Frage : mir fehlen irgendwie Icons für das Webfrontend, wie z.b. der Briefumschlag. Ist das ein Fehler beim Update gewesen ?
( letztes Update auf 2.1 und dann manuell auf 2.2b gegangen )

@pedocom

Nein, diese Icons habe ich mir selber erstellt. Die meisten davon habe ich aber hier im Forum veröffentlicht und zum Download bereitgestellt. Siehe hier ->

das Mail Icon ist noch sehr neu und daher noch nicht zu der Sammlung hinzugefügt. Hole ich aber noch nach.

Hier hatte ich es auch schon mal gepostet:

Hallo Ralf,

was muss ich denn machen um das auch im Dashboard anzeigen zulassen ?

Die „echos“ in eine Variable schreiben und die dann in einer StringVar ablegen und im Dashboard als Webbrowser-Element einbinden :cool:, ich stelle meinen kompletten Code heute abend hier rein ;).

Danke Ralf

Hier mein komplettes Script:

<?
// ID auf eine String Variable setzen
$id = 12345;

$simpleXMLElement = simplexml_load_file('http://www.tvmovie.de/rss/tv2015.xml'); // URL des RSS Feeds
//$simpleXMLElement = simplexml_load_file('http://www.tvmovie.de/rss/tvjetzt.xml'); // URL des RSS Feeds
$senderAnzahl = 6; // Anzahl der anzuzeigenden Sender
$rss_feed = "";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
   $item = $simpleXMLElement->channel->item;
   $item = xmlToArray($item[$i]);
   $titel = $item['title'];
   $beschreibung = $item['description'];
   $text = "<strong>".strip_tags($titel)."</strong><br/>".strip_tags($beschreibung)."<br />";
   $text = formatText($text);
   $searchArray = $item;
   if(array_key_exists('enclosure', $searchArray))
   {
      $image = $item['enclosure']['@attributes']['url'];
      $rss_feed .= '<tr style="vertical-align:top;">';
      $rss_feed .= '<td width="auto" height="90px"><div align="left"><img src="'.$image.'" alt="not Found"></div></td>';
      $rss_feed .= '<td width="auto"><div align="left">'.$text.'</div></td>';
      $rss_feed .= '</tr>';
   }
   else
   {
      $rss_feed .= '<tr>';
      $rss_feed .= '<td width="auto" height="90px"><div align="left"> </div></td>';
      $rss_feed .= '<td width="auto"><div align="left">'.$text.'</div></td>';
      $rss_feed .= '</tr>';
   }
}

$browser='
<html>
<head>
<style type="text/css" media="screen">
body  {  background-color:#F9F1C9;
			font-family: Arial;
         margin:0;
         padding:10px 5px 0px 5px;
         }

div {    margin:0;
         padding:0px 0px 0px 0px;
         }
</style>
</head>
<body scroll="no"><table width="auto" style="font-size: 14px">'
.$rss_feed.
'</table>
</body>
</html>';

SetValueString($id, $browser);


function xmlToArray($data)
{
    if (is_object($data))
    {
        $data = get_object_vars($data);
    }
      return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}

// Textformatierung
function formatText($text)
{
    $text = html_entity_decode($text);
    $text = str_replace("ö", "ö", $text);
    $text = str_replace("Ãœ", "Ü", $text);
    $text = str_replace("ü", "ü", $text);
    $text = str_replace("ä", "ä", $text);
    $text = str_replace("ß", "ß", $text);
    $text = str_replace("&ndash;", "-", $text);
    $text = str_replace('&#039;', "`", $text);
    $text = str_replace("&", "&", $text);
    $text = str_replace("Ö", "Ö", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("“", "\"", $text);
    $text = str_replace("„", "\"", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("–", "-", $text);
    $text = str_replace("é", "é", $text);
    $text = str_replace("Ä", "Ä", $text);
    return $text;
}

?&gt;

Die String Variable kann dann als Content für das WebBrowser-Objekt im Dashboard verwendet werden.

@ Ralf,

ich hab den formatText noch angepasst gestern Abend :wink:

Sind noch 2 hinzugekommen.

hi,

weiß einer von euch woher ich rss feed für das SKY Programm bekomme?

Ich finde da nichts.

MFG Franz

Hallo ihr beiden,

bin gerade über diesen Beitrag gestolpert. Mal eben ins Dashboard eingebaut, und läuft.

Klasse. Besten Dank

Martin

Hallo Leute,

tolle Skripte! Vielen Dank dafür!:slight_smile:

Ich habe nun versucht auch das Spiegel RSS Feed um die Bildchen zu erweitern und habe mich dazu am Beispiel des TV-Programms versucht…leider bisher ohne Erfolg!:frowning:

Kann mir jemand den entscheidenen Tipp geben, wie ich auch die Bildchen sehen kann?:confused:

Joachim

Hallo Joachim,

versteh dein Problem nicht so ganz.

<?
$simpleXMLElement = simplexml_load_file("http://www.spiegel.de/schlagzeilen/index.rss"); // URL des RSS Feeds
$senderAnzahl = 15; // Anzahl der anzuzeigenden Sender
$str =  "<table width='980px' border='0'>";
// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
    $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     $beschreibung = "<small>".$item['description']."</small>";
     $text = $titel."<br>".$beschreibung."<br>";
     $text = utf8_decode($text);
     if(array_key_exists('enclosure', $item))
     {
         $image = $item['enclosure']['@attributes']['url'];
        $str .= "<tr>";
        $str .= "<td width='auto'height='80px'><div><img src=$image alt='not Found'></div></td>";
        $str .= "<td width='980px'><div style='text-align:left; margin-left:10px;'>$text</div></td>";
        $str .= "</tr>
";
    }
    else
    {
        $str .= "<tr>";
        $str .= "<td></td><td width='980px'><div style='text-align:left; margin-left:10px;'>$text</div></td>";
        $str .= "</tr>
";
    }
}
$str .= "</table>
";
SetValue(53042 /*[TV Movie\Programm ab 20:15\Programm]*/, $str);

function xmlToArray($data)
{
    if(is_object($data))
    {
        $data = get_object_vars($data);
    }
      return (is_array($data)) ? array_map(__FUNCTION__,$data) : $data;
}

?>