私自身、Magpie を介して RSS で画像を表示する方法を探すのに何年も費やしましたが、最終的にコードを調べて、それを機能させる方法を見つけなければなりませんでした。
あなたが言うように、Magpie が要素内の画像を取得しない理由は、「enclosure」タグを使用して指定されているためです。これは、情報が属性にある空のタグです。
<enclosure url="http://www.mysite.com/myphoto.jpg" length="14478" type="image/jpeg" />
すばやく動作させるためのハックとして、次のコード行を 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
...
}
画像への URL は $myRSSitem['enclosure_url'] にあり、サイズは $myRSSitem['enclosure_length'] にあります。エンクロージャ タグは多くのタイプのメディアを参照できることに注意してください。まず、$myRSSitem['enclosure_type'] をチェックして、タイプが実際にイメージかどうかを確認してください。
たぶん他の誰かがより良い提案をしており、他の空のタグから属性を取得するためにこれをよりエレガントに行うことができると確信していますが、迅速な修正 (締め切りのプレッシャー) が必要でしたが、これが他の誰かの助けになることを願っています!