TV Programm

Musste noch etwas ändern, da TV MOVIE sich etwas neues hat einfallen lassen um das Skript zu sabotieren :smiley:

Ich musste noch folgende Abfrage mit einbauen, da sonst keine Sendungen ausgespuckt werden, wenn TV MOVIE komische leere Felder einbaut, die das Skript durcheinander bringen und zum Abbruch verleiten…

if (is_string($item['title']))  {
	  }
	  else  {
		  continue;
	  }

Enthält die Variable keinen String, dann soll der Datensatz des Arrays übersprungen werden und mit dem nächsten weitergemacht werden. So werden die leeren Blöcke im RSS-XML übersprungen und das Skript bricht nicht ab.

Neues Skript:

<?
// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 51610 /*[Hardware & Skripte\TV Programm\TV MOVIE\TV Programm Spielfilme jetzt]*/;  // Hier die ID der String-Variable mit HTMLBox Profil eintragen (diese dann an gewünschte Stelle im WebFront verlinken)
$refreshtime = 900;  // Aktualisiert die Daten alle 15 Minuten (bei Programm für 20.15 Uhr usw. reicht einmal am Tag

//$url='http://www.tvmovie.de/rss/tv2015.xml';                 // TV Programm 20.15 Uhr
//$url='http://www.tvmovie.de/rss/tv2200.xml';               // TV Programm 22.00 Uhr
$url='http://www.tvmovie.de/rss/tvjetzt.xml';              // TV Programm JETZT
//$url='http://www.tvmovie.de/rss/tvtipps-spielfilm.xml';    // TV Programm SPIELFILME


// AB HIER NICHTS MEHR ÄNDERN
IPS_SetScriptTimer($IPS_SELF, $refreshtime);
$simpleXMLElement = simplexml_load_file($url);
$str =  "<table width='auto'>";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
	 $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     if (is_string($item['title']))  {
	  }
	  else  {
		  continue;
	  }
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     $beschreibung = "<small>".$item['description']."</small>";
     $text = $titel."<br>".$beschreibung."<br>";
     $text = utf8_decode($text);
     $searchArray = $item;

     // IF-Abfrage, wenn Array zu Ende, dann abbrechen
     if(isset($searchArray['enclosure']) != true)  {
        break;
     }
     if(array_key_exists('enclosure', $searchArray))
     {
         $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>";
        $str .= "</td></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($ausgabeVariable, $str);

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

?>

Grüße,
Chris

Hallo zusammen,

liefert http://www.tvmovie.de/rss/tvjetzt.xml bei euch auch nur das Programm vom frühen morgen anstatt von jetzt?
Hat jemand einen aktuellen Link?

Grüße
Matthias

Sieht so aus, als wäre das irgendwie falsch…

ich würde nochmal ~2 Tage abwarten, glaube nicht, dass die URL geändert wurde. Die haben vmtl. grad technische Probleme?! Nichts überstürzen :slight_smile:

Schaut man nämlich mal direkt in die XML rein, sieht man, dass die zuletzt heute morgen generiert wurde…also hängt bei denen evtl. der Prozess um die XML neu zu generieren oder kein Plan…

<title>TVMovie.de - Jetzt im TV</title>
<link>http://www.tvmovie.de/tv-programm-jetzt-im-tv.html</link>
<description>Was läuft jetzt im TV</description>
<language>de-de</language>
<copyright>Copyright © 2014 TVMovie.de</copyright>
<pubDate>Wed, 31 Dec 2014 07:45:19 +0100</pubDate>
<lastBuildDate>Wed, 31 Dec 2014 07:45:19 +0100</lastBuildDate>

Und wenn man mal auf die Webseite direkt geht und dann auf TV-Programm JETZT und schaut sich den Quellcode an, dann stimmt die XML-URL noch, also einfach abwarten und bald wird es wieder funktionieren :slight_smile:

    &lt;link rel="canonical" href="http://www.tvmovie.de/tv-programm-jetzt-im-tv.html" /&gt;

<link type=„application/rss+xml“ rel=„alternate“ title=„TVMovie.de - 20:15 im TV“ href=„http://www.tvmovie.de/rss/tv2015.xml“ />
<link type=„application/rss+xml“ rel=„alternate“ title=„TVMovie.de - 22:00 im TV“ href=„http://www.tvmovie.de/rss/tv2200.xml“ />
<link type=„application/rss+xml“ rel=„alternate“ title=„TVMovie.de - Jetzt im TV“ href=„http://www.tvmovie.de/rss/tvjetzt.xml“ />
<link type=„application/rss+xml“ rel=„alternate“ title=„TVMovie.de - Spielfim-Tipps“ href=„http://www.tvmovie.de/rss/tvtipps-spielfilm.xml“ />

Grüße,
Chris

Gibt es ein aktuell funktionierendes Script? :confused:

 <?
// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 51610 /*[Hardware & Skripte\TV Programm\TV MOVIE\TV Programm Spielfilme jetzt]*/;  // Hier die ID der String-Variable mit HTMLBox Profil eintragen (diese dann an gewünschte Stelle im WebFront verlinken)
$refreshtime = 900;  // Aktualisiert die Daten alle 15 Minuten (bei Programm für 20.15 Uhr usw. reicht einmal am Tag

//$url='http://www.tvmovie.de/rss/tv2015.xml';                 // TV Programm 20.15 Uhr
//$url='http://www.tvmovie.de/rss/tv2200.xml';               // TV Programm 22.00 Uhr
$url='http://www.tvmovie.de/rss/tvjetzt.xml';              // TV Programm JETZT
//$url='http://www.tvmovie.de/rss/tvtipps-spielfilm.xml';    // TV Programm SPIELFILME


// AB HIER NICHTS MEHR ÄNDERN
IPS_SetScriptTimer($IPS_SELF, $refreshtime);
$simpleXMLElement = simplexml_load_file($url);
$str =  "<table width='auto'>";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
     $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     if (is_string($item['title']))  {
      }
      else  {
          continue;
      }
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     $beschreibung = "<small>".$item['description']."</small>";
     $text = $titel."<br>".$beschreibung."<br>";
     $text = utf8_decode($text);
     $searchArray = $item;

     // IF-Abfrage, wenn Array zu Ende, dann abbrechen
     if(isset($searchArray['enclosure']) != true)  {
        break;
     }
     if(array_key_exists('enclosure', $searchArray))
     {
         $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>";
        $str .= "</td></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($ausgabeVariable, $str);

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

?> 

Das geht leider nicht mehr :eek:

Abend!

Die TV MOVIE gehen doch schon länger nicht mehr, sofern ich mich richtig erinnere?!

Ich parse schon länger TV SPIELFILM und TVTV…

<?
// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 12345;  // Hier die ID der String-Variable mit HTMLBox Profil eintragen
$refreshtime = 900;  // Aktualisiert die Daten alle 15 Minuten (bei Programm für 20.15 Uhr usw. reicht einmal am Tag

// TV Spielfilm
$url = 'http://www.tvspielfilm.de/tv-programm/rss/jetzt.xml';      // TV Programm JETZT
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2015.xml';  // TV Programm 20.15 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2200.xml';  // TV Programm 22.00 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/filme.xml';      // TV Programm SPIELFILME
//$url = 'http://www.tvspielfilm.de/news/rss.xml';                   // TV News



// AB HIER NICHTS MEHR ÄNDERN
IPS_SetScriptTimer($_IPS['SELF'], $refreshtime);
$simpleXMLElement = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
$str =  "<table width='auto'>";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
	 $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     if (is_string($item['title']))  {
	  }
	  else  {
		  continue;
	  }
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     
     if (is_string($item['description']))  {
        $beschreibung = "<small>".$item['description']."</small>";
	  }
	  else  {
		  $beschreibung = "<small></small>";
	  }
     
     $text = $titel."<br>".$beschreibung."<br>";
     $text = utf8_decode($text);
     $searchArray = $item;

     // IF-Abfrage, wenn Array zu Ende, dann abbrechen
     //if(isset($searchArray['enclosure']) != true)  {
     //   break;
     //}
     if(array_key_exists('enclosure', $searchArray))
     {
         $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>";
        $str .= "</td></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($ausgabeVariable, $str);


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

?>

Grüße,
Chris

Danke Chris, habs gerade eingebunden … läuft :slight_smile:

Moin Moin Jungs,

das mit dem Sky wäre für mich interessant , hat das wer umgesetzt ?

ARD und WDR guck ich eher selten :slight_smile:

Moin Marcel,

kann dir grad kein Skript geben, aber eine Quelle :slight_smile:
tvtv.de – Alles andere ist nur Fernsehen

Grüße,
Chris

Danke Chris .

Ich habe das Script jetzt auch Mal bei mir laufen und soweit auch alles gut. Was mir aufgefallen ist, das Anführungszeichen und Bindestrich als Fragezeichen angezeigt wird. Ist euch das auch aufgefallen und wie löst man das Problem?

Danke Heiko

Gesendet von meinem Lenovo YT3-X50F mit Tapatalk

Kann ich bestätigen. War mir bislang nicht aufgefallen.

Grüße
galleto

Habe für mich die Lösung gefunden:

Zeile: $text = utf8_decode($text);

auskommentiert!

Gute Nacht
Heiko

Klasse, vielen Dank!

Grüße
galleto

Hallo zusammen,

kann mir jemand erklären warum die Bilder zu den Sendungen in IPSView (Android-Tablet) nicht angezigt werden, über das IPS WF jedoch schon.

Musss an dem Script evtl. noch etwas geändert werden?

Beste Grüße
Kai

Hallo zusammen,

leider komme ich ohne Hilfe nicht weiter.
Ich nutze ein Android Tablet und würde mir gerne mit dem Skript aus Post #45 das TV-Programm anzeigen lassen.

Leider werden dabei die Bilder zu den Sendungen nicht angezeigt, zumindest auf meinem Android Tablet unter IPSView in einer HTML Box.
Im IPSWebFront wird alles korrekt dargestellt.

Hat jemand eine Idee wie ich das lösen kann oder kann es sein, dass es unter IPSView nicht funktioniert.


Vielen Dank

Beste Grüße
Kai

Das liegt wohl an der URL die angegeben ist. Wie werden denn die Grafiken geladen, kannst Du da mal Code posten?

Hallo Fonzo,

hier einmal das komplette Skript.

<?

// KONFIGURATION
$senderAnzahl = 1000; // Anzahl der anzuzeigenden Sender festlegen, oder für alle so lassen
$ausgabeVariable = 54062 /*[Visualisierung\TV Programm\TV Spielfilm jetzt]*/;
$refreshtime = 900;  // Aktualisiert die Daten alle 15 Minuten (bei Programm für 20.15 Uhr usw. reicht einmal am Tag

// TV Spielfilm
$url = 'http://www.tvspielfilm.de/tv-programm/rss/jetzt.xml';      // TV Programm JETZT
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2015.xml';  // TV Programm 20.15 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/heute2200.xml';  // TV Programm 22.00 Uhr
//$url = 'http://www.tvspielfilm.de/tv-programm/rss/filme.xml';      // TV Programm SPIELFILME
//$url = 'http://www.tvspielfilm.de/news/rss.xml';                   // TV News



// AB HIER NICHTS MEHR ÄNDERN
IPS_SetScriptTimer($_IPS['SELF'], $refreshtime);
$simpleXMLElement = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
$str =  "<table width='auto'>";

// Datenausgabe
for($i=0; $i<$senderAnzahl; $i++)
{
     $item = $simpleXMLElement->channel->item;
    $item = xmlToArray($item[$i]);
     if (is_string($item['title']))  {
      }
      else  {
          continue;
      }
     $titel = "<b style=color:#C00000;>".$item['title']."</b>";
     
     if (is_string($item['description']))  {
        $beschreibung = "<small>".$item['description']."</small>";
      }
      else  {
          $beschreibung = "<small></small>";
      }
     
     $text = $titel."<br>".$beschreibung."<br>";
     //$text = utf8_decode($text);
     $searchArray = $item;

     // IF-Abfrage, wenn Array zu Ende, dann abbrechen
     //if(isset($searchArray['enclosure']) != true)  {
     //   break;
     //}
     if(array_key_exists('enclosure', $searchArray))
     {
         $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>";
        $str .= "</td></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($ausgabeVariable, $str);


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

?>

Ich glaube ab Zeile 49 werden die Grafiken geladen.

Besten Dank
Kai

Ich kann im ersten Moment da jetzt nichts erkennen. Ich habe auch bei mir noch mal nachgeschaut, da werden die Grafiken sowohl auf Windows als auch Android angezeigt. Tritt das Phänomen mit den Grafiken nur bei der Seite auf dem Gerät auf oder noch wo anders?

Tritt das Phänomen mit den Grafiken nur bei der Seite auf dem Gerät auf oder noch wo anders?

Nur auf dem Android Gerät. Unter Windows (IPSView) werden die Bilder angezeigt.

Frage doch mal speziell im IPSView Unterforum nach, an der Seite per se kann es ja an sich nicht liegen.