IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupération infos flux rss / atom via ereg() [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 83
    Points
    83
    Par défaut Récupération infos flux rss / atom via ereg()
    Bonjour,

    Mon but est à partir de l'url d'une page qui m'est fournie, de regarder si le site propose un flux RSS ou Atom et si oui de récupérer le titre et l'adresse du flux.

    Je commence par ouvrir mon fichier et je regarde ligne par ligne si je trouve du code correspondant au flux via un masque.

    Voici un bout de code qui doit effectuer ce test mais qui malheureusement ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (eregi("<link rel=\"alternate\" type=\"application/rss+xml\" title=\"(.*)\" href=\"(.*)\"(.?)>",$ma_ligne,$regs))
     {
     echo "Titre du file : ".$regs[1]."<br/>";
     echo "Adresse du file : ".$regs[2]."<br/>";
     }
    else
     {
     echo "pas trouvé !<br/>";
     }
    Ce n'est qu'un début de code puisqu'à terme il faut aussi que je gère la possibilité de simples apostrophes ainsi que le cas ou il s'agit d'un flux Atom.

    Mais déjà là, cela ne fonctionne pas avec des sites, dont je me suis pourtant inspiré du code pour créer mon masque.

    Je ne comprends pas pourquoi...

    Merci d'avance à ceux qui pourront m'aider.

    Fab

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Je ne sais pas ce que tout le monde a avec les ereg alors qu'il est dit partout que les preg sont plus efficaces et plus complètes...

    Bref, voici ce que je te propose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all('#<link rel="alternate" type="application/rss+xml" title="([^"])" href="([^"])"([^>])*>#Ui', $ma_ligne, $regs);
    Si tu te demandes à quoi correspondent U et i, je te recommande la doc PHP et une recherche sur mes messages contenant des expressions régulières.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 83
    Points
    83
    Par défaut
    Salut et merci de ta réponse,

    Je vais essayer de trouver une bonne doc sur le preg mais pour l'instant ça ne marche pas mieux pour mon problème.

    Même moins bien, puisqu'avec ereg j'arrive au moins à récupérer la balise <title> d'une page alors qu'avec preg il ne trouve rien.
    Mais ce n'est de toute façon pas mon but..

    Mais je ne comprends pas d'où vient le problème avec ou sans ereg.
    Mon masque me semble assez simple puisque je ne gère pas encore tous les cas de figure.

    Peut-être les apostrophes ou les espaces sont mal reconnus, ce qui fait qu'il ne trouve pas exactement mon masque ? Etrange !

    J'ai évidemment essayé avec plusieurs sites pour mes tests...

    Fab

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 83
    Points
    83
    Par défaut
    Je viens enfin de trouver ce qui buggait dans mon masque : j'avais bien échappé les apostrophes mais pas le "+" de "rss+xml", qui a évidemment un sens...

    Cela servira peut-être à d'autres.

    En tous cas merci du conseil. Je vais quand même essayé de me mettre à preg.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération de flux RSS
    Par lallier dans le forum Android
    Réponses: 6
    Dernier message: 20/08/2012, 17h22
  2. Récupération de flux RSS et délai
    Par Plantadonf dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/06/2012, 13h48
  3. Réponses: 9
    Dernier message: 05/12/2011, 11h11
  4. [débutant] Parsing des Flux RSS/Atom
    Par Golork dans le forum Android
    Réponses: 1
    Dernier message: 31/05/2010, 15h41
  5. Récupération info flux rss
    Par Kerweb dans le forum Langage
    Réponses: 6
    Dernier message: 24/09/2008, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo