Services : Actualité Emploi Blog Forum Flux
Formation Trafic : Référencement Liens sponsorisés Affiliation Ecommerce Nom de domaine E-réputation Marketing Mobile Black Hat
Formation Technique : Performance Web Html Css Sql Curl Asp Dotnet Php Ajax Wordpress Twitter Google Analytics

Forum Oseox
Oseox

Parser flux rss en php : magpie et enclosure

Forum Référencement et Trafic
Nous sommes le Dim 22 Oct 2017 07:36

Heures au format UTC [ Heure d’été ]




Poster un nouveau sujet Répondre au sujet
Auteur Message
MessagePosté: Lun 29 Déc 2008 16:11 
Administrateur
Avatar de l’utilisateur
Hello,

Je parse en php un fichier RSS à l'aide de l'excellente libraire magpie. Dans le flux, il y a des lignes comme celle-ci :

Code:
<enclosure url="http://www.example.com/toto.jpg" type="image/jpeg" length="50000"/>


Voici ma boucle :

Code:
$items = array_slice($rss->items, 0, $nb_items_affiches);

foreach ($items as $item)
{
       $rss_title = $item['title'];
}


J'aimerai stocker le champ url de enclosure dans une variable. Forcément $rss_img = $item['enclosure']; ne semble pas convenir, $item['enclosure'][url] non plus.

Une idée ?

Merci.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 30 Déc 2008 21:38 
Bonjour,

Pour savoir comment afficher les données du tableau $items, il faut déjà savoir comment il est construit.
Pour cela, utilises la fonction print_r();

Code:
$items = array_slice($rss->items, 0, $nb_items_affiches);
echo "<pre>";
print_r($items);
echo "</pre>";


Là, tu sauras précisément quelles sont les variables et paramètres à appeler.
Si tu ne t'en sors tjs pas, postes un morceau du tableau que tu obtiens :)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mar 30 Déc 2008 23:09 
Administrateur
Avatar de l’utilisateur
Merci pour ton test. Je retrouve bien tous les champs du flux rss, sauf l'enclosure :D

Pourtant il est bien dans le flux. Magpie ne semble pas le parser puisque c'est la seule balise qui "s'autoferme".

Edit : Apparemment c'est bien un problème de Magpie. Je vais tester ce patch.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Mer 31 Déc 2008 11:23 
Administrateur
Avatar de l’utilisateur
Cela fonctionne parfaitement.
J'ai remplacé rss_parse.inc par le fichier proposé ci-dessus.

Dans ma boucle pour accéder au champ url j'ai ajouté :

Code:
$rss_title = ’enclosure’][0][’url’];


Merci de m'avoir mis sur la voie ;)


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Ven 2 Jan 2009 13:54 
Intégriste
Avatar de l’utilisateur
Salut Aurélien,
pourquoi tu ne te fais pas un script basé sur DOM pour analyser du XML ?
C'est aussi simple et efficace.


Haut
 Profil Envoyer un e-mail  
 
MessagePosté: Ven 2 Jan 2009 22:13 
Administrateur
Avatar de l’utilisateur
Tout simplement parce que je me suis rendu compte sur un site que j'ai développé il y a bientôt 2 ans que les images ne passaient plus.

J'avais utilisé magpie à l'époque et je n'allais pas tout modifier.

C'est sur que manipuler du xml sans magpie est simple surtout avec php5 ;)


Haut
 Profil Envoyer un e-mail  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 6 messages ] 

Heures au format UTC [ Heure d’été ]


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Abonnez-vous au flux RSS

Blog

Forum

Offres d'emploi

Copyright : Moteur, traduction et optimisation
Merci de votre visite sur le forum Oseox