RSS-Feed selber bauen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • RSS-Feed selber bauen

    Hallo,

    Ich habe eine Art Weblog. Ich möchte seinen Inhalt als RSS-Feed bereitstellen, dabei aber nicht auf Blog-Services wie Blogger.tld (?) oder so zurückgreifen, sondern meine bisherigen PHP-Seiten weiterverwenden und eben in PHP ein Skript schreiben, das die Einträge in eine WML-Datei ausgibt. Meine Fragen:
    • Gibt es daür irgendwo ein Tutorial? Klar, ich kann mir die Infos über Standards usw. auch anlesen, aber man muss bestimmt jede Menge Dinge beachten, die mir nicht gleich einfallen. Udn wenn jemand schon mal alles durchgedacht hat...
    • Kann inerhalb der Einträge ganz normales HTML verwendet werden? Können z.B. Bilder eingebunden werden? Laden die Newsreader die üblicherweise mit runter oder eher nicht?
    • Wie üblich ist der Atom-Standard? Wie kann ich erreichen, dass mein Weblog von jedem gelesen werden kann (Atom- und RSS-Reader)?


    (Klar, das hier wäre auch ein Thread für das PHP-Forum, aber ich lass ihn jetzt mal hier, hoffe, dass er frequentiert wird und bin nicht böse, wenn ein Mod ihn verschiebt.)

    (Es gibt hier schon einen Thread mit dem Namen "RSS-Feed - dringend" oder so, aber da wernden die obigen Fragen nicht beantwortet, weshalb ich diesen Thread für legitim halte... )

    Danke für alle Tips,

    Maze

  • #2
    du musst nur gültigen XML-Code schreiben und die richtigen Tags verwenden...

    schau mal hier, da ist die Beschreibung, welche Tags für welchen Feed/Version benutzt werden sollen/können:

    http://feedvalidator.org/docs/

    ansonsten kannst du dir auch mal funktionierende Feeds anschauen:
    http://www.alistapart.com/xmlfeed/

    und wenn du fertig bist, kannst du die hier auch gleich validieren lassen:
    http://feedvalidator.org/

    Hoffe, das hilft dir weiter!

    gruss

    Kommentar


    • #3
      Danke!

      Ich werd basteln. Wenn ich auf Probleme stosse, melde ich mcih wieder.

      Kommentar


      • #4
        Hehe, und schon hab ich welche.
        • Wenn ich mich zwischen RSS 9.x und RSS 2.0 und Atom entscheiden soll, neige ich zunächst einfach dazu, RSS 2.0 zu nehmen, weil das am Meisten Möglichkeiten zu bieten scheint. Aber kann ich mcih auch drauf verlassen, dass alle gängigen Newsreader RSS 2.0 unterstützen? Oder soll ich lieber für jeden Standard eine XML-Datei zur Verügung stellen?
        • Wie muss ich das Datum genau formatieren? Der RSS 2.0 Standard verlangt
          Code:
          Sun, 19 May 2002 15:21:36 GMT
          , aber ws ist, wenn meine Zeitzone zur GMT verschoben ist?


        Maze

        Kommentar


        • #5
          2) denke so: Thu, 23 Oct 2004 10:48:07 +0100

          rfc2822

          Kommentar


          • #6
            Original geschrieben von amazed
            Hehe, und schon hab ich welche.
            • Wenn ich mich zwischen RSS 9.x und RSS 2.0 und Atom entscheiden soll, neige ich zunächst einfach dazu, RSS 2.0 zu nehmen, weil das am Meisten Möglichkeiten zu bieten scheint. Aber kann ich mcih auch drauf verlassen, dass alle gängigen Newsreader RSS 2.0 unterstützen? Oder soll ich lieber für jeden Standard eine XML-Datei zur Verügung stellen?
            • Wie muss ich das Datum genau formatieren? Der RSS 2.0 Standard verlangt
              Code:
              Sun, 19 May 2002 15:21:36 GMT
              , aber ws ist, wenn meine Zeitzone zur GMT verschoben ist?


            Maze
            Je nachdem wieviel aufwand du haben möchstes

            i.d.R. biete ich RSS2.0 und Atom an für jeden eine eigene Datei!

            gruss

            Kommentar


            • #7
              Danke für die Tips. Das hat mich schon weitergebracht.

              Im Moment habe ich Probleme damit, eine ISO-codierte XML-Datei zu schreiben. Das scheint eher ein PHP-Problem zu ein, ich habe deshalb hier einen neuen Thread angelegt.

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                2) denke so: Thu, 23 Oct 2004 10:48:07 +0100

                rfc2822
                Ja, das ist gut und scheint richtig zu sein. Das Problem ist, dass meine Einträge jetzt immer eine Stunde zu spät angezeigt werden. Weil ich die Deutschland-Zeit nehme und zu dieser dann noch eine Stunde addiert wird. Ich sollte also due GMT nehmen. Aber wie kriege ich die? Muss ich da mit den Timestamps herumrechnen?

                Oder leigt das vielleicht an so einem Sommerzeit / Winterzeit-Ding? Nee, das haben die doch in England auch, oder? Hui, jetzt wirds kompliziert.

                Kommentar


                • #9
                  ralle nicht so ganz o ddein problem liegt.

                  Kommentar


                  • #10
                    Ich generiere die Daten für das Feed (pubDate) derzeit mit

                    PHP-Code:
                    <?php
                    strftime
                    (%a, %%%%H:%M:%+0100);
                    ?>
                    Wenn ich einen Beitrag heute um Punkt 14:00 geschrieben habe, steht im XML Code also
                    Code:
                    Sat, 30 Oct 2004 [b]14[/b]:00:00 +0100
                    Mein Feedreader zeigt dann an: Beitrag geschrieben am 30. Oktober um 15:00. Ist ja irgendwie auch verständlich, weil er eben die angegebene Zeit nimmt, davon ausgeht, dass es die GMT ist, und dann eine Stunde dazuzählt, wegen dem "+0100".

                    Die angegebene Zeit ist aber nicht die GMT, sondern die Zeit in Deutschland. Zu der macht es aber wenig Sinn, noch eine Stunde dazuzuzählen. Das "+0100" will ich aber stehen lassen, ich denke, dass das der Validität halber dazugehört.

                    Ich muss also dafür sorgen, dass der "%a, %d %b %Y %H:%M:%S"-Teil meines strftime()-Aufrufs nicht die deutsche Zeit, sondern die GMT ausgibt. Mache ich das, in dem ich strftime einen Timestamp übergebe, dem ich eine Stunde (sprich 3600 Sekunden) abgezogen habe, oder geht das irgendwie eleganter?

                    Im Atom 0.3-Feed klappt es auch nicht. Da gebe ich die Zeit mit

                    PHP-Code:
                    <?php
                    strftime
                    (%Y-%m-%dT%H:%M:%SZ);
                    ?>
                    aus, und die im Feedreader angezeigte Zeit ist um zwei Stunden nach vorne verschoben (zwei Stunden später).

                    (Ich hoffe, ich konnte klarmachen, wo mein Problem liegt.)
                    Zuletzt geändert von amazed; 30.10.2004, 21:54.

                    Kommentar

                    Lädt...
                    X