/** * Implements FormatterInterface->format(). * * @param \Zend\Feed\Reader\Entry\EntryInterface $item * @return string */ public function format(EntryInterface $item) { $created = $item->getDateCreated(); if ($created instanceof \DateTime) { $created = $created->format($this->datePattern); } $modified = $item->getDateModified(); if ($modified instanceof \DateTime) { $modified = $modified->format($this->datePattern); } $author = $item->getAuthor(); if (is_array($author)) { $authorname = $author['name']; $authoremail = isset($author['email']) ? $author['email'] : null; $authoruri = isset($author['uri']) ? $author['uri'] : null; } else { $authorname = ''; $authoremail = ''; $authoruri = ''; } $replacements = array('%authorname%' => $authorname, '%authoremail%' => $authoremail, '%authoruri%' => $authoruri, '%content%' => $item->getContent(), '%datecreated%' => $created, '%datemodified%' => $modified, '%description%' => $item->getDescription(), '%id%' => $item->getId(), '%link%' => $item->getLink(), '%links%' => implode(' ', $item->getLinks()), '%permalink%' => $item->getPermalink(), '%title%' => $item->getTitle(), '%commentcount%' => $item->getCommentCount(), '%commentlink%' => $item->getCommentLink(), '%commentfeedlink%' => $item->getCommentFeedLink()); $formatted = str_replace(array_keys($replacements), array_values($replacements), $this->pattern); return $formatted; }