Pop\Feed\Format\Rss::parse PHP Метод

parse() публичный Метод

Method to parse an RSS feed object
public parse ( ) : void
Результат void
    public function parse()
    {
        $items = array();
        $itemObjs = isset($this->obj->channel->item) ? $this->obj->channel->item : $this->obj->item;
        $count = count($itemObjs);
        $limit = $this->limit > 0 && $this->limit <= $count ? $this->limit : $count;
        for ($i = 0; $i < $limit; $i++) {
            $title = trim((string) $itemObjs[$i]->title);
            if ($title == '') {
                $title = (string) $itemObjs[$i]->link;
            }
            $items[] = new \ArrayObject(array('title' => html_entity_decode($title, ENT_QUOTES, 'UTF-8'), 'content' => html_entity_decode((string) $itemObjs[$i]->description, ENT_QUOTES, 'UTF-8'), 'link' => (string) $itemObjs[$i]->link, 'published' => (string) $itemObjs[$i]->pubDate, 'time' => self::calculateTime((string) $itemObjs[$i]->pubDate)), \ArrayObject::ARRAY_AS_PROPS);
        }
        $this->feed->items = $items;
    }

Usage Example

Пример #1
0
 /**
  * Method to parse a Flickr RSS feed object
  *
  * @return void
  */
 public function parse()
 {
     parent::parse();
     if (null === $this->feed['author']) {
         $this->feed['author'] = str_replace('Uploads from ', '', $this->feed['title']);
     }
     if (null === $this->feed['date']) {
         $this->feed['date'] = date('D, d M Y H:i:s O');
     }
     if (null === $this->feed['generator']) {
         $this->feed['generator'] = 'Flickr';
     }
     $namespaces = $this->obj->getDocNamespaces(true);
     $items = $this->feed['items'];
     foreach ($items as $key => $item) {
         $entry = $this->obj->item[0];
         $dc = $entry->children($namespaces['dc']);
         $image = substr($item['content'], strpos($item['content'], '<img src="') + 10);
         $image = substr($image, 0, strpos($image, '"'));
         $items[$key]['published'] = (string) $dc->{'date.Taken'};
         $items[$key]['time'] = self::calculateTime($items[$key]['published']);
         $items[$key]['image_thumb'] = str_replace('_m', '_s', $image);
         $items[$key]['image_medium'] = $image;
         $items[$key]['image_large'] = str_replace('_m', '', $image);
         $items[$key]['image_orig'] = str_replace('_m', '_b', $image);
     }
     $this->feed['items'] = $items;
 }
All Usage Examples Of Pop\Feed\Format\Rss::parse