• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Einbindung von XML-Tickern?

B

bigfraggle

Gast
Hallo,

die Überschrift sagt es eigentlich ja schon: wer kann (simple) Möglichkeiten bzw. Skripte für die Einbindung eines XML Tickers (horizontal) empfehlen?

Sollte sowas in der Art sein, nur halt nicht über einen externen Anbieter laufen: http://www.gulli.com/tools/webmaster/feedgenerator

Ich habe irgendwo mal gelesen, dass man sowas auch einfach mit marquee umsetzen könnte. Da mittlerweile alle Browser den Befehl verarbeiten können, wäre das für meine Zwecke sogar ausreichend.

Hat jemand allgemeine Ideen oder Erfahrungen damit?

Gruß & Danke
bigfraggle
 
verstehe grad nicht so genau was du meinst, aber man kann mit der simplexml bibliothek von php5 xml files recht einfach parsen..
beispiel:
Code:
<?php
$data = simplexml_load_file("http://www.heise.de/newsticker/heise.rdf");
echo "<a href='".$data->channel->link."'>".$data->channel->title.
           "</a> - ".$data->channel->description."<br /><br />";
foreach ($data->item as $item) {
 echo "<a href='".$item->link."'>".$item->title."</a><br />";
}
?>
parst den RDF Feed von Heise online und gibt die schlagzeilen mitsamt link aus.
 
Ich verstehe auch nicht genau, was du möchtest, aber das hier könnte dir gefallen:

http://magpierss.sourceforge.net/
 
Naja, Parser ist ja nicht gleich Parser.

Hier nutze ich z.B. einen "normalen" Parser:
http://www.huclan.de/html/start.php (links bei "Halo News").

Sowas meine ich aber nicht, sondern einen horizontal verlaufenden Newsticker wie auf meiner anderen Seite:
http://www.bungie.de (oben bei "Xbox Aktuell").

Der Ticker ist aber in einem System eingebunden und daher komme ich so nicht an den relevanten Code. Daher suche ich ein Skript oder eine andere Möglichkeit, genau sowas auf einer anderen Seite zu realisieren.
 
hast du meinen beitrag nicht gelesen?



Code:
<?php
$data = simplexml_load_file("http://www.heise.de/newsticker/heise.rdf");
echo "<a href='".$data->channel->link."'>".$data->channel->title."</a> - ".$data->channel->description."<br /><br /><marquee> +++ ";
foreach ($data->item as $item) {
 #echo "<a href='".$item->link."'>".$item->title."</a><br />";
 echo "<a href='".$item->link."'>".$item->title."</a> +++ ";
}
echo "</marquee>";
?>
 
marky68 am 04.02.2006 09:19 schrieb:
verstehe grad nicht so genau was du meinst, aber man kann mit der simplexml bibliothek von php5 xml files recht einfach parsen..
beispiel:
Code:
<?php
$data = simplexml_load_file("http://www.heise.de/newsticker/heise.rdf");
echo "<a href='".$data->channel->link."'>".$data->channel->title.
           "</a> - ".$data->channel->description."<br /><br />";
foreach ($data->item as $item) {
 echo "<a href='".$item->link."'>".$item->title."</a><br />";
}
?>
parst den RDF Feed von Heise online und gibt die schlagzeilen mitsamt link aus.

Nur php5 oder läuft das auch mit php4?
 
Shrapnel am 05.02.2006 14:14 schrieb:
Joa sry, habe von php nicht so wirklich den Plan und hätte jetzt einfach deinen Code verwendet, habe aber nur php4 drauf. Danke für die Antwort. ;-)

hallo,
mit minixml kann man ein aehnlich einfaches skript unter php4 verwenden:

Code:
<?php
include_once "minixml-1.3.0/minixml.inc.php";
$data = new MiniXMLDoc();
$data->fromString(implode("",file("http://www.heise.de/newsticker/heise.rdf")));
$arr = $data->toArray();
echo "<a href='".$arr['rdf:RDF']['channel']['link']."'>".
           $arr['rdf:RDF']['channel']['title']."</a> - ".
           $arr['rdf:RDF']['channel']['description']."<br /><br />";
foreach ($arr['rdf:RDF']['item'] as $item) {
 if ($item['title']) echo "<a href='".$item['link']."'>".$item['title']."</a><br />";
}
?>
 
marky68 am 05.02.2006 12:45 schrieb:
hast du meinen beitrag nicht gelesen?

Doch schon, hilft mir aber nicht so richtig weiter...

Habe jetzt dieses minixml genommen, da ich lediglich PHP 4.3.10 habe.
Die Ausgabe funktioniert natürlich, aber ich möchte wie gesagt einen horizontal verlaufenden Ticker nutzen.

http://www.gearsofwar.de/rss_test.php

Gibts da ne Möglichkeit, das ganze entsprechend zu händeln?

Danke & Gruß
bigfraggle
 
bigfraggle am 05.02.2006 18:25 schrieb:
Doch schon, hilft mir aber nicht so richtig weiter...

Habe jetzt dieses minixml genommen, da ich lediglich PHP 4.3.10 habe.
Die Ausgabe funktioniert natürlich, aber ich möchte wie gesagt einen horizontal verlaufenden Ticker nutzen.

http://www.gearsofwar.de/rss_test.php

Gibts da ne Möglichkeit, das ganze entsprechend zu händeln?

Danke & Gruß
bigfraggle

sicher doch, hier die "marquee"-version fuer minixml:

Code:
<?php
include_once "minixml-1.3.0/minixml.inc.php";
$data = new MiniXMLDoc();
$data->fromString(implode("",file("http://www.heise.de/newsticker/heise.rdf")));
$arr = $data->toArray();
echo "<a href='".$arr['rdf:RDF']['channel']['link']."'>".
           $arr['rdf:RDF']['channel']['title']."</a> - ".
           $arr['rdf:RDF']['channel']['description']."<br /><br /><marquee> +++";
foreach ($arr['rdf:RDF']['item'] as $item) {
 if ($item['title']) echo "<a href='".$item['link']."'>".$item['title']."</a> +++ ";
}
echo "</marquee>";
?>
 
Mmh, so richtig klappt das mit meinem Feed nicht. Er bemängelt etwas in der foreach-Anweisung: http://www.gearsofwar.de/rss_test.php
Das ist der Code meiner Testdatei:

<html>
<body>
<?php
include_once "minixml.inc.php";
$data = new MiniXMLDoc();
$data->fromString(implode("",file("http://www.xboxaktuell.de/news/rss.php")));
$arr = $data->toArray();
echo "<a href='".$arr['rdf:RDF']['channel']['link']."'>".
$arr['rdf:RDF']['channel']['title']."</a> - ".
$arr['rdf:RDF']['channel']['description']."<br><br><marquee>";
foreach ($arr['rdf:RDF']['item'] as $item) {
if ($item['title']) echo "<a href='".$item['link']."'>".$item['title']."</a><br>";
}
echo "</marquee>";
?>
</bod>
</html>

Liegt es evtl. daran, dass mein Feed anders aufgebaut ist als der von Heise?
Dort beginnt die erste Ebene mit einem <rdf:RDF ...> und bei mir mit <rss version="2.0">. :confused:

Gruß
bigfraggle
 
hallo,
ja, anstatt ['rdf:RDF'] muesstest du ['rss']['channel'] angeben, da der RSS-feed ein wenig anders aufgebaut ist. dann muesste es funktionieren.
 

Ähnliche Themen

Zurück