将 RSS 提要加载到 php 中 [英] loading rss feed into php

查看:42
本文介绍了将 RSS 提要加载到 php 中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将 RSS 提要加载到 PHP 提要中的最佳方法是什么?

我还想处理 media:content 问题以显示图像.目前我有以下代码,但我不知道这是不是最好的.

load('http://www.hln.be/rss.xml');$feed = array();foreach ($rss->getElementsByTagName('item') as $node) {$item = 数组 ('标题' =>$node->getElementsByTagName('title')->item(0)->nodeValue,'desc' =>$node->getElementsByTagName('description')->item(0)->nodeValue,'链接' =>$node->getElementsByTagName('link')->item(0)->nodeValue,'日期' =>$node->getElementsByTagName('pubDate')->item(0)->nodeValue,'媒体' =>$node->getElementsByTagName('media:content url')->item(0)->nodeValue,);array_push($feed, $item);}$limit = 20;for($x=0;$x<$limit;$x++) {$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);$link = $feed[$x]['link'];$description = $feed[$x]['desc'];$date = date('l F d, Y', strtotime($feed[$x]['date']));$image = $feed[$x]['media'];echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong>;<br/>';echo '<small><em>发布于 '.$date.'</em></small></p>';echo '<p>'.$description.'</p>';echo '<img src="' . $image . '"/>';}?>

解决方案

检查这个:

channel->item as $item) {$title = (string) $item->title;$description = (string) $item->description;打印 '

';打印输出('<h2>%s</h2><p>%s</p>',$title,$描述);if ($media = $item->children('media', TRUE)) {如果($media->content->thumbnail){$attributes = $media->content->thumbnail->attributes();$imgsrc = (string)$attributes['url'];printf('<div><img src="%s" alt=""/></div>', $imgsrc);}}回声'</div>';}?>

What's the best way to load an RSS feed into a PHP feed?

I also want to handle the media:content problems to display a image. At this moment I have the following code but I don't know if this is the best.

<?php
    $rss = new DOMDocument();
    $rss->load('http://www.hln.be/rss.xml');
    $feed = array();
    foreach ($rss->getElementsByTagName('item') as $node) {
        $item = array ( 
            'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
            'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
            'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
            'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
            'media' => $node->getElementsByTagName('media:content url')->item(0)->nodeValue,

            );
        array_push($feed, $item);
    }
    $limit = 20;
    for($x=0;$x<$limit;$x++) {
        $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
        $link = $feed[$x]['link'];
        $description = $feed[$x]['desc'];
        $date = date('l F d, Y', strtotime($feed[$x]['date']));
        $image = $feed[$x]['media'];

        echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
        echo '<small><em>Posted on '.$date.'</em></small></p>';
        echo '<p>'.$description.'</p>';
        echo '<img src="' . $image . '"/>';

    }
?>

解决方案

Check this:

<?php

$feed = simplexml_load_file('http://www.hln.be/rss.xml');

foreach ($feed->channel->item as $item) {
  $title       = (string) $item->title;
  $description = (string) $item->description;

  print '<div>';

  printf(
    '<h2>%s</h2><p>%s</p>', 
    $title, 
    $description
  );

  if ($media = $item->children('media', TRUE)) {
    if ($media->content->thumbnail) {
      $attributes = $media->content->thumbnail->attributes();
      $imgsrc     = (string)$attributes['url'];

      printf('<div><img src="%s" alt="" /></div>', $imgsrc);
    }
  }

  echo '</div>';
}

?>

这篇关于将 RSS 提要加载到 php 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆