RSS in HTML einfügen?
Eay
- xml
Hallo,
hab ein Problem und leider auch keine Ahnung zu diesem Thema (sorry!), ersuche aber dringend Hilfe.
Mein Weblog postet mir auch eine xml-datei. http://www.eayz.net/atom.xml
Jetzt hab ich alles mögliche von Site-Syndication gelesen und würde gerne einfach die Überschriften bzw. die ersten Wörter meiner Posts auf meiner Startseite anzeigen lassen. Wenn jemand versteht was ich meine, wäre Hilfe echt nett.
PS: Mein Webspace-Tarif (bei meinem ziemlich teuren Host ;-) unterstützt werder PERL noch PHP. Gehts auch anders?
Danke schonmal für eure Hilfe!
bye,
Eay
Hallo!
hab ein Problem und leider auch keine Ahnung zu diesem Thema (sorry!), ersuche aber dringend Hilfe.
Mein Weblog postet mir auch eine xml-datei. http://www.eayz.net/atom.xml
Ist das Dein Weblog? Ich lann das wie eine HTML-Seite ansehen (mit Mozilla Firebird), der IE6 dagegen versucht es auch, und bringt aber nach den ersten Einträgen einen Fehler, so wie das aussieht liegt das an den Umlauten. Zur Nor kodiere die, also statt ä ä, statt Ä Ä, statt ö ö...
Aber weiter unten hat der Mozilla auch Probleme mit irgendwas.
Jetzt hab ich alles mögliche von Site-Syndication gelesen und würde gerne einfach die Überschriften bzw. die ersten Wörter meiner Posts auf meiner Startseite anzeigen lassen. Wenn jemand versteht was ich meine, wäre Hilfe echt nett.
Also dafür brauchst Du entweder eine enstprechend aufgebaute XML oder HTML-Datei, die Du irgendwie einbinden kannst, oder Du verwendest sowas wie PHP um das einzubinden, da kannst Du das entsprechend so gestalten wie Du es willst, oder Du verwendest PHP um aus dem XML-Feed eine entsprechende Datei zu erzeugen, die Du dann in HTML einbinden kannst(SSI, Iframe...)
PS: Mein Webspace-Tarif (bei meinem ziemlich teuren Host ;-) unterstützt werder PERL noch PHP. Gehts auch anders?
Hm dann weiß ich auch nicht wie Du das machen kannst. Du musst die entsorechende Datei n icht innerhalb Deines Webspace erzeugen, das geht auch woanders, oder vielleicht bietet der Dienst bei dem Du das blog schreibst ja auch irgendwie sowas fertig an.
Grüße
Andreas
Danke schomal für die Antwort.
Also mein Weblog liegt eigentlich hier: www.eayz.net/blog.html
Der Dienst den ich benutze (Blogger.com) baut mir die erwähnte XML-Datei: www.eayz.net/atom.xml
Das Problem mit den Umlauten ist mir klar, würd ich zur Not korrigieren, aber nun würd ich gern die Übrschrift von den Einträgen meines Weblogs auf meiner Hauptseite (www.eayz.net) anzeigen. Mach ja unendlich viele Seiten, nur kann ich nirgends finden wie ich diese RSS-Titles einfügen kann...
Das mit SSI/iframe wäre ja kein Problem, wenn ich den (ganzen) Weblog einfügen wollte, nur möchte ich halt die Überschirften haben...
Hilfe!
Hallo!
Das Problem mit den Umlauten ist mir klar, würd ich zur Not korrigieren, aber nun würd ich gern die Übrschrift von den Einträgen meines Weblogs auf meiner Hauptseite (www.eayz.net) anzeigen. Mach ja unendlich viele Seiten, nur kann ich nirgends finden wie ich diese RSS-Titles einfügen kann...
Das mit SSI/iframe wäre ja kein Problem, wenn ich den (ganzen) Weblog einfügen wollte, nur möchte ich halt die Überschirften haben...
Hast Du die Daten im RSS-Format? Die XML-Datei sah mir nicht wirklch so aus, hab es mir aber auch nicht so genau angesehen.
Ich weiß halt nur wie es mit PHP geht.
Ein PHP-Script welches die Titel des RSS-Feeds von slashdot im HTML-Format ausgibt(so wie Du es vermutlich willst) sieht z.B. so aus:
<?php
require_once "XML/RSS.php";
$rss =& new XML_RSS("http://slashdot.org/slashdot.rdf");
$rss->parse();
echo "<h1>Headlines from <a href="http://slashdot.org">Slashdot</a></h1>\n";
echo "<ul>\n";
foreach ($rss->getItems() as $item) {
echo "<li><a href="" . $item['link'] . "">" . $item['title'] . "</a></li>\n";
}
echo "</ul>\n";
?>
http://pear.php.net/manual/en/package.xml.xml-rss.example.php
Aber dazu brauchst Du halt PHP ;-)
Grüße
Andreas
Hey, genau sowas hab ich gesucht... aber ne andere Möglichkeit gibt's wohl nit für die PHP-Krüppel unter uns. Aber danke! Ma gucken welchen befreundeten Webmaster ich jetzt nach Webspace anhauen muss *g*
Hi!
Hey, genau sowas hab ich gesucht... aber ne andere Möglichkeit gibt's wohl nit für die PHP-Krüppel unter uns. Aber danke! Ma gucken welchen befreundeten Webmaster ich jetzt nach Webspace anhauen muss *g*
Du könntest so ein Script auf anderen Webspace der PHP unterstzützt legen, und das ganze dann per ssi/iframe... einbinden.
Grüße
Andreas
Hallo Eay,
Mein Weblog postet mir auch eine xml-datei. http://www.eayz.net/atom.xml
Jetzt hab ich alles mögliche von Site-Syndication gelesen und würde gerne
einfach die Überschriften bzw. die ersten Wörter meiner Posts auf meiner
Startseite anzeigen lassen. Wenn jemand versteht was ich meine, wäre Hilfe
echt nett.
Ich fasse mal kurz zusammen:
Du hast einen Account samt Weblog bei blogger.com. blogger.com greift über
FTP auf Deinen Webspace zu (wäre mir schon unangenehm, aber ich war ja selber
mal bei Blogger.com) und stellt dort die neuen Seiten hinein. Diese Seiten
sind die Blog-Index-Seite, in Deinem Fall /blog.html, der Atom-Newsfeed
/atom.xml (Nicht RSS) und die archivierten Seiten samt Archiv-Index.
Du willst jetzt auf einer anderen Seite die Titel der Blog-Posts aufführen,
wahrscheinlich als Linkliste im Sinne von »Die letzten zehn Posts« oder so
ähnlich. Du hast nur Blogger.com und keine Möglichkeiten zu serverseitigen
Programmen in PHP, Perl oder ähnlichen.
Sagen wir so: Es geht nicht oder nur sehr schwer.
Blogger.com gestaltet meines Wissens immer nur die oben angegebenen Seiten,
eigene Seiten bezieht er nicht in seine Update-Liste ein. Denn in der
Blogger-Syntax wäre es ja recht einfach, ein Template dafür zu gestalten,
mal so aus der Hand geschüttelt so vielleicht:
<h3>Die letzten Postings</li>
<ul>
<Blogger>
<li>
<BlogItemTitle>
<BlogItemURL><a href="<$BlogItemURL$>"></BlogItemURL><$BlogItemTitle$></a>
</BlogItemTitle>
</li>
</Blogger>
</ul>
Andere Weblogsoftware kann das bequem, dieses Hinzufügen von Templates
und Dateien in den Aktualisierungszyklus. Das Problem für Dich ist nur,
daß diese anderen Programme meist nur als CGI-Skript auf dem Server laufen.
Und diese Möglichkeit hast Du nicht - sonst hätte ich Dir schon längst zum
ultraflexiblen Movable Type geraten.
Die nächste Möglichkeit ist die, die Du und Andreas schon angedacht haben,
nämlich den von Blogger.com erstellten Atom-Feed selbst auszuwerten,
daraus die gewünschten Informationen zu extrahieren und diese in HTML-Code
umzuwandeln, der dann noch in die index.html muß. Von hinten durch die Brust
ins Auge also. Nur: Dein Server hat die Möglichkeiten dafür nicht.
Jetzt überlegst Du, ob Du das vielleicht auf dem Server eines Freundes
legen kannst. Dazu mußt Du diese Probleme lösen:
a) Wie merkt das Skript auf dem Server eines Freundes, daß Blogger.com
gerade über FTP neue Dateien auf Deinen Webspace geschrieben hat und
daß das Skript jetzt in Aktion treten soll, den Atom-Feed auswerten
und etwas damit machen soll? Ruft es alle zehn Minuten den Atom-Feed
von Deinem Webspace runter und überprüft den auf Änderungen? Setzt
voraus, daß Dein Freund Skripte zeitgesteuert ablaufen lassen kann,
Dein Webspace das verkraftet und Du noch eine Kopie des Feeds zum
Vergleichen vorhalten mußt.
b) Andreas' Lösung kannst Du nicht verwenden. Er verwendet nämlich ein
Modul, das RSS-Feeds, Ein anderes XML-Format zu Content Syndication,
auswertet. Atom-Feeds wertet es anscheinend nicht aus. Atom ist eine
recht neue Entwicklung, deren Entwickler RSS ablösen wollen, deswegen
gibt es noch nicht soviel Software dazu. Du müßtest Dich also mit dem
Atom-Format beschäftigen und selber Software zur Auswertung schreiben.
Und einen RSS-Feed scheint Blogger.com inzwischen nicht mehr zu erstellen.
c) Wie kommen die Titel dann in die index.html?
1. Das Skript auf dem Server Deines Freundes könnte über FTP auf Deinen
Webspace zugreifen und die index.html neu erstellen. Dann wären Deine
FTP-Daten neben Blogger.com in einer weiteren externen Stelle im Netz.
2. Wenn, ja wenn Dein Webserver Server Side Includes unterstützt, dann
kannst Du damit Brocken von HTML-Code in Deine Seite einbinden. In
der Praxis dann also so: Jemand ruft die index.html auf. Der Webserver
bemerkt beim Ausliefern daß er dazu noch den Code von der titles.php
auf dem Webserver Deines Freundes haben mußt und ruft dieses ab. Die
titles.php, weil ein Skript, tritt dann in Arbeit und ruft erstmal
die atom.xml von Deinem Webserver ab und verarbeitet diese auf dem
Webserver Deines Freundes und schickt dann HTML-Quellcode zurück, die
Dein Webserver in die ganz am Anfang verlangte index.html einbaut.
Von hinten durch eine Brust in Australien ins Auge in Deutschland.
Von den Aufrufzeiten gar nicht erst zu reden.
3. iFrames. Damit ersparst Du Dir die Verarbeitungszeit von SSI, hast
aber immer noch das Problem, daß die titles.php erstmal den Atom
Feed von Deinen Webserver zum Verarbeiten auf den eigenen Server
holen muß. Außerdem finde ich iFrames irgendwie doof. Aber das ist
Geschmackssache.
Meine ehrliche Meinung? Du willst Features, die Blogger.com als einfacher
Dienst Dir nicht bieten kann. Ich an Deiner Stelle würde zu einem anderen,
flexibleren Weblogskript auf dem eigenen Server wechseln und dafür auch
den Webspace so upgraden, daß man Weblogskripte, ob auf Perl oder PHP
basierend, da ausführen kann. Du hättest zwar den Nachteil, etwas mehr
zu bezahlen (Obwohl: Das ist wirklich nicht die Welt), aber dafür den
Vorteil, um all die Probleme oben drumherumzugehen, weil Dein Weblogskript
das alles für Dich macht.
Tim