3

PHPを使用してRSSフィードのiTunesタグにアクセスする必要があります。以前、ポッドキャストフィードにsimplepieを使用しましたが、それを使用してiTunesタグを取得する方法がわかりません。simplepieを使用してそれを行う方法はありますか、それともより良い方法がありますか?


さて、私はSimpleXMLを試しました。

これ(以下のコード)はすべて機能しているようです

$feed = simplexml_load_file('http://sbhosting.com/feed/');
$channel = $feed->channel;
$channel_itunes = $channel->children('http://www.itunes.com/dtds/podcast-1.0.dtd');
$summary = $channel_itunes->summary;
$subtitle = $channel_itunes->subtitle;
$category = $channel_itunes->category;
$owner = $channel_itunes->owner->name;

次に、iTunesのカテゴリを取得する必要があります。はいくつかの方法で表されているようです。この場合、次のXMLを取得します。

<itunes:category text="Technology"/>
<itunes:category text="Technology">
  <itunes:category text="Software How-To"/>
</itunes:category> 

次のようなカテゴリを取得できると思います。

$category_text = $channel_itunes->category['text'];

しかし、それはうまくいかないようです。

誰を取得すればよいかわからないカテゴリを表す他の方法を見てきました。

例えば:

テクノロジービジネス教育

これはメディアのものですか、それともiTunesのものですか、あるいはその両方ですか?

ご協力いただきありがとうございます。G

4

5 に答える 5

2

SimplePieには、それらにアクセスできるようにするget_item_tags()機能があります。

于 2008-10-05T02:33:17.067 に答える
1

このコードは私のために働きます:

//$pie is a SimplePie object
$iTunesCategories=$pie->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES,'category');
if ($iTunesCategories) {
  foreach ($iTunesCategories as $iTunesCategory) {
    $category=$iTunesCategory['attribs']['']['text'];
    $subcat=$iTunesCategory['child']["http://www.itunes.com/dtds/podcast-1.0.dtd"]['category'][0]['attribs']['']['text'];
    if ($subcat) {
      $category.=":$subcat";
    }
    //do something with $category
  }
}
于 2008-12-20T04:45:29.853 に答える
-1

PHP5を使用している場合は、Simple XMLを使用すると、必要な情報を解析するのに役立ちます。

于 2008-10-05T00:19:54.213 に答える