PHP Zugriff auf iTunes-Tags in einem RSS-Feed
Frage
Ich muss Zugriff auf die iTunes-Tags in einem RSS-Feed erhalten PHP. Ich habe simplepie verwendet, bevor sie für Podcast-Feeds, aber ich bin nicht sicher, wie die iTunes-Tags erhalten Sie es. Gibt es eine Möglichkeit simplepie zu verwenden, es zu tun, oder gibt es einen besseren Weg?
Okay, ich versuchte Einfache XML.
All dies (der Code unten) scheint zu funktionieren
$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;
Jetzt muss ich die itunes Kategorien bekommen. Das scheint auf verschiedene Weise dargestellt werden. In diesem Fall habe ich die Folge XML:
<itunes:category text="Technology"/>
<itunes:category text="Technology">
<itunes:category text="Software How-To"/>
</itunes:category>
Ich würde erwarten, dass die Kategorie mit so etwas zu bekommen:
$category_text = $channel_itunes->category['text'];
Aber das scheint nicht zu funktionieren.
Ich habe andere Möglichkeiten gesehen, die Kategorie zu repräsentieren, die ich nicht wirklich wissen, wer zu erhalten.
Zum Beispiel:
Technologie Geschäft Bildung
Ist das ein Medium Sache oder eine itunes Sache oder beides?
Danke für Ihre Hilfe. G
Lösung
Dieser Code funktioniert für mich:
//$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
}
}
Andere Tipps
Um das Attribut mit SimpleXML zu erhalten, statt:
$category_text = $channel_itunes->category['text'];
Verwendung:
$category_text = $channel_itunes->category->attributes()->text;
Wenn Sie PHP5 haben, einfach unter Verwendung von XML in Parsen der Informationen helfen können, die Sie benötigen.
SimplePie hat eine get_item_tags()
Funktion , die lassen sollen Sie darauf zugreifen.