Reconnaitre la norme d'un flux ?

 
amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 13:53

Reconnaitre la norme d'un flux ?

Message le Ven Juil 27, 2007 1:36

Salut !

Quelqu'un d'entre vous sait-il comment reconnaitre la norme d'un flux à l'aide dun bout de script php ? Je m'explique

J'entre dans mon script un flux (www.adresse.com/flux.ext) et ce script cherche si c'est un RSS 1, 2 ou un Atom ou un Rdf et affiche la réponse !

La plupart des agrégateurs doivent contenir cette fonction mais il faut comprendre la structure de tout leur code pour trouver la bonne fonction.


Merci !

Adamito!

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

padawan2
WRInaute passionné
WRInaute passionné
 
Messages: 590
Inscription: Ven Fév 02, 2007 20:51

Message le Ven Juil 27, 2007 6:34

Tu dois avoir quelque chose de la forme:

<rss version="2.0">


Qui te dit quel version est utilisée dans le flux.

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 13:53

Message le Ven Juil 27, 2007 13:56

Je suis pas sur que c'est aussi simple !

Adamito!


arnaudmn
WRInaute accro
WRInaute accro
 
Messages: 1451
Inscription: Mer Mai 11, 2005 19:20

Message le Ven Juil 27, 2007 14:15

amazigh25 a écrit:Je suis pas sur que c'est aussi simple !


Et ben si. La première ligne permet de connaitre quel norme suit le flux.

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 13:53

Message le Ven Juil 27, 2007 14:36

Je me suis mal exprimé je pense.
Ce que padawan2 a dis est vrai, chaque fichier rss ou atom contient une "balise" qui désigne sa norme.

Pour celà il faut d'abbord ouvrir le fichier voulu :

Code: Tout sélectionner
$flux = file ('http://www.flux.com/index.xml);


Mais je n'arrive pas savoir si $flux contient ou non "<rss version="2.0">" par exemple. J'ai utilisé des regex mais ça ne marche pas.

Adamito!


Leonick
WRInaute accro
WRInaute accro
 
Messages: 11147
Inscription: Dim Aoû 08, 2004 21:24

Message le Ven Juil 27, 2007 17:45

amazigh25 a écrit:J'ai utilisé des regex mais ça ne marche pas.Adamito!
lesquels ?


arnaudmn
WRInaute accro
WRInaute accro
 
Messages: 1451
Inscription: Mer Mai 11, 2005 19:20

Message le Ven Juil 27, 2007 19:04

amazigh25 a écrit:Je me suis mal exprimé je pense.
Ce que padawan2 a dis est vrai, chaque fichier rss ou atom contient une "balise" qui désigne sa norme.

Pour celà il faut d'abbord ouvrir le fichier voulu :


Ben .... un truc comme ça :
Code: Tout sélectionner
$flux = "http://lurlduflux/toto.rss";
$handle = fopen ($flux, "r");
$quoi= fread ($handle, 20);
fclose ($handle);
$quoi = strtolower($quoi);
if (strpos($quoi, "2.0")!==false) echo "flux version 2.0";
else  ...


J'ai bon ?

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 996
Inscription: Sam Juin 04, 2005 13:53

Message le Sam Juil 28, 2007 6:56

En bossant hier, j'ai fini par trouver !

Code: Tout sélectionner
<?php      
   function rss($file)
   {
         if (!$lefichier = fopen("$file", "r")) print "Échec ouverture $file<br>";
         else
         {
            $i = 0;
            $ok= false;
            While (($ligne = fgets($lefichier))&&($ok==false))
            {
               $i++;

               if (preg_match("/.*(<rss version=\"2.0\">).*/i", $ligne)) //RSS 2
               {
               $norme = "rss2";
                    echo $norme;
               $ok =true;
               }
               elseif (preg_match("/.*(rdf:RDF).*/i", $ligne))  // RDF
               {
               $norme = "rdf";
                    echo $norme;
               $ok =true;
               }
               elseif (preg_match("/.*(\/Atom).*/i", $ligne))
               {
               $norme = "Atom";
                    echo $norme;
               $ok =true;
               }
            }
         }
         fclose($lefichier);
   }

      
                  rss("FLUX");      



?>


C'est une fonction pratique, qu'on facilement adapter.
Si quelqu'un veut des explications, je suis là pour ;)

Adamito!

 

Modérateurs: WebRankInfo, e-kiwi, OTP, fandecine, Patrice A.

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: amine2009 et 0 invités