PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

Array2feed: produire un flux valide à partir d'un tableau

vendredi 2 août 2013 à 17:38

 Hier, je postais une fonction pour récupérer le contenu d'un flux dans un tableau, aujourd'hui, je propose le contraire ^^

Array2feed permet de produire un flux valide à partir des données d'un tableau. J'ai eu l'idée de cette fonction parce qu'il y a quelques temps, JérômeJ m'avait demandé le code de mon touïteur pour voir comment faire un flux qui passe la validation (et que j'en avais bavé ma race toute une soirée avec le feed validation service *mort* )

Dans la foulée, j'ai bien entendu mis à jour la  page github correspondante...


Le tableau passé à la fonction devra avoir une certaine structure pour être reconnu correctement et il devra contenir certaines données pour produire un flux valide...

Il devra avoir deux clés: infos et items

1- Infos contiendra au moins :

2- items contiendra un tableau dont chaque clé sera elle-même un tableau contenant:

A noter pour ceux qui ne se seraient encore jamais pris la tête à générer un flux rss que la pubDate doit respecter un certain format (RFC 2822) correspondant a  date('r') en php et que le lien guid doit être différent pour chaque item. *mort*


Pour plus de clarté, voilà le print_r du tableau d'exemple:

Array
(
    [infos] => Array
        (
            [type] => rss
            [description] => Ceci est le test ultime de la mort
            [title] => test de création de flux rss
            [link] => http://www.warriordudimanche.net
        )

    [items] => Array
        (
            [0] => Array
                (
                    [description] => Ceci est le premier item du flux
                    [title] => item 1 : le titre
                    [link] => http://www.warriordudimanche.net
                    [guid] => http://www.warriordudimanche.net#1
                    [pubDate] => Fri, 02 Aug 2013 17:55:42 +0200
                )

            [1] => Array
                (
                    [description] => Ceci est le second item du flux
                    [title] => item 2 : le retour
                    [link] => http://www.warriordudimanche.net
                    [guid] => http://www.warriordudimanche.net#2
                    [pubDate] => Fri, 02 Aug 2013 17:55:42 +0200
                )

            [2] => Array
                (
                    [description] => Ceci est le troisième item du flux
                    [title] => item 3 : la revanche
                    [link] => http://www.warriordudimanche.net
                    [guid] => http://www.warriordudimanche.net#3
                    [pubDate] => Fri, 02 Aug 2013 17:55:42 +0200
                )

        )

)

Voilà le code de la fonction: