Pregunta

Necesito obtener acceso a las etiquetas de iTunes en una fuente RSS usando PHP. He usado simplepie antes para las transmisiones de podcast, pero no estoy seguro de cómo usar las etiquetas de iTunes. ¿Hay una manera de usar simplepie para hacerlo o hay una mejor manera?


Está bien, probé XML simple.

Todo esto (el código de abajo) parece funcionar

$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;

Ahora necesito obtener las categorías de iTunes. Los parecen estar representados de varias maneras. En este caso obtengo el siguiente XML:

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

Espero poder obtener la categoría con algo como esto:

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

Pero eso no parece funcionar.

He visto otras formas de representar la categoría que realmente no sé a quién obtener.

Por ejemplo:

Tecnología   Negocio   Educación

¿Esto es una cosa de los medios o una cosa de itunes o ambas?

Gracias por tu ayuda. G

¿Fue útil?

Solución

Este código me funciona:

//$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
  }
}

Otros consejos

Para obtener el atributo con SimpleXML, en su lugar:

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

Uso:

$category_text = $channel_itunes->category->attributes()->text;

Si tiene PHP5, el uso de XML simple puede ayudar a analizar la información que necesita.

SimplePie tiene una get_item_tags () función que debería permitirte acceder a ellos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top