4

我已经研究这个话题几天了,但我仍然不知道如何去做。

我想从 forexfactory.com 获取 RSS 提要到我的网站,我想对正在发生的事情进行一些格式化,我还想从他们那里获得最新信息(尽管最后两点可以等待,只要我有更多或提要跑步)。

如果有人知道教程或我可以使用的东西,我最好从头开始开发它?

如果不是,我会满足于使用第三方 API 或类似的东西,只要我能做一些工作。

我不知道它是什么,但有一些关于 RSS 的东西我没有得到,所以如果有人知道任何好的东西,可能是基本教程,这会对我有很大帮助。一页一页的谷歌搜索有点难。

此外,我不会对它以 Javascript、PHP 或 HTML 输出的语言大惊小怪。

谢谢您的帮助。

4

3 回答 3

3

看起来 SimplePie 可能是您正在寻找的东西。这是一个非常基本的 RSS 插件,非常易于使用并且也可以自定义。您可以从网站下载它。

您可以直接使用它,也可以根据需要深入研究插件。这是他们网站上的演示

于 2012-05-16T09:49:20.123 回答
2

索引.php

include('rss_class.php');

  $feedlist = new rss($feed_url);
  echo $feedlist->display(2,"Feed Title");

rss_class.php

<?php
 class rss {
        var $feed;
        function rss($feed){
            $this->feed = $feed;
        }

        function parse(){
            $rss = simplexml_load_file($this->feed);

            //print_r($rss);die; /// Check here for attributes

            $rss_split = array();

            foreach ($rss->channel->item as $item) {

              $title = (string) $item->title; 
              $link   = (string) $item->link; 
              $pubDate   = (string) $item->pubDate; 
              $description = (string) $item->description; 
              $image = $rss->channel->item->enclosure->attributes();
              $image_url =   $image['url'];

             $rss_split[] = '
                    <li>
                        <h5><a href="'.$link.'">'.$title.'</a></h5>
                        <span class="dateWrap">'.$pubDate.'</span>
                        <p>'.$description.'</p>
                        <a href="'.$link.'">Read Full Story</a>
                    </li>
                ';
            }
            return $rss_split;
        }

        function display($numrows,$head){

            $rss_split = $this->parse();
            $i = 0;
            $rss_data = '<h2>'.$head.'</h2><ul class="newsBlock">';
            while($i<$numrows){
              $rss_data .= $rss_split[$i];
              $i++;
            }
            $trim = str_replace('', '',$this->feed);
            $user = str_replace('&lang=en-us&format=rss_200','',$trim);


            $rss_data.='</ul>';

            return $rss_data;
        }
}
?>
于 2015-01-07T08:04:37.153 回答
0

我没有加入 < TABLE > 标记,因为您可能想要显示的文章不止一篇。

class RssFeed
{
    public $rss = "";

    public function __construct($article)
    {
      $this->rss = simplexml_load_file($article, 'SimpleXMLElement', LIBXML_NOERROR | LIBXML_NOWARNING);

      if($this->rss != false)
      {
        printf("<TR>\r\n");
        printf("<TD>\r\n");
        printf("<h3>%s</h3>\r\n", $this->rss->channel->title);
        printf("</TD></TR>\r\n");

        foreach($this->rss->channel->item as $value)
        {
          printf("<TR>\r\n");
          printf("<TD id=\"feedmiddletd\">\r\n");
          printf("<A target=\"_blank\" HREF=\"%s\">%s</A><BR/>\r\n", $value->link, $value->title);
          printf($value->description);
          printf("</TD></TR>\r\n");
        }
      }
    }
}
于 2015-07-15T23:05:47.340 回答