J'ai passé des heures à chercher un moyen d'afficher des images en RSS via Magpie moi-même, et à la fin j'ai dû examiner le code pour comprendre comment le faire fonctionner. Comme vous le dites, la raison pour laquelle Magpie ne capte pas les images dans l'élément est qu'elles sont spécifiées à l'aide de la balise 'enclosure', qui est une balise vide dans laquelle les informations se trouvent dans les attributs, par ex.
<enclosure url="http://www.mysite.com/myphoto.jpg" length="14478" type="image/jpeg" />
En tant que hack pour que cela fonctionne rapidement pour moi j'ai ajouté les lignes de code suivantes dans rss_parse.inc:
function feed_start_element($p, $element, &$attrs) {
...
if ($el == 'channel')
{
$this->inchannel = true;
}
...
// START EDIT - add this elseif condition to the if ($el=xxx) statement.
// Checks if element is enclosure tag, and if so store the attribute values
elseif ($el == 'enclosure') {
if (isset($attrs['url'])) {
$this->current_item['enclosure_url'] = $attrs['url'];
$this->current_item['enclosure_type'] = $attrs['type'];
$this->current_item['enclosure_length'] = $attrs['length'];
}
}
// END EDIT
...
}
L'URL de l'image est en $ myRSSitem [ 'enclosure_url' ] et la taille est dans $ myRSSitem ['enclosure_length']. Notez que les balises de boîtier peuvent faire référence à de nombreux types de média, donc vérifiez d'abord si le type est réellement une image en vérifiant $ myRSSitem ['enclosure_type']. Peut-être que quelqu'un d'autre a une meilleure suggestion et je suis sûr que cela pourrait être fait plus élégamment pour ramasser les attributs d'autres balises vides, mais j'avais besoin d'une solution rapide, mais j'espère que cela pourrait aider quelqu'un d'autre dans difficulté!
Cette solution a parfaitement fonctionné pour ma propre situation désordonnée. Merci beaucoup. –