Eay: RSS in HTML einfügen?

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

  1. 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

    1. 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!

      1. 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

        1. 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*

          1. 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

  2. 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