Symfony如何在Twig上解析RSS feed

时间:2017-02-24 17:12:23

标签: php symfony rss twig

例如,在PHP中,解析RSS提要的方法可能是:

<?php
$rss = simplexml_load_file('http://blog.wordpress_site.com/feed/');

{{ rss }}

foreach ($rss->channel->item as $item) {
    echo $item->title;
    echo $item->link;
    echo $item->description;
    echo $item->guid;
}
?>

我怎么能在Twig上有这个?

更新:感谢我的回复。现在它逐项获取,但不是像帖子的图像,类别或文本等字段:

SimpleXMLElement {#955 ▼
  +"title": "Website. Description of the website"
  +"link": "http://blog.website.com/liktothepost"
  +"pubDate": "Fri, 17 Feb 2017 07:56:43 +0000"
  +"category": SimpleXMLElement {#1131}
  +"guid": "http://blog.website.com/?p=400"
  +"description": SimpleXMLElement {#953}
}

1 个答案:

答案 0 :(得分:2)

您可以使用操作创建一个控制器,将对象传递给您想要呈现的Twig文件,如下所示:

public function viewRSSAction(Request $request){
    $rss = simplexml_load_file('http://blog.wordpress_site.com/feed/');

    return $this->render('my_rss.html.twig', array(
            'rss' => $rss,
    ));
}

然后您的my_rss.html.twig可能如下所示:

{% for item in rss %}
    {{ item.title }}
    {{ item.link }}
    {{ item.description }}
    {{ item.guid }}
{% endfor %}