2012-05-16 4 views
4

Я изучаю эту тему в течение нескольких дней, и я по-прежнему не мудрее, как это сделать.Как показывать RSS-каналы с других сайтов

Я хочу получить RSS-канал от forexfactory.com на моем веб-сайте, я хочу сделать некоторое форматирование на том, что происходит, и я также хочу получить самую последнюю информацию от них (хотя эти последние две точки могут ждать, пока у меня есть еще немного или работает бег).

Желательно, чтобы я разработал это с нуля, если кто-нибудь знает учебник или что-то, что я могу использовать?

Если нет, я соглашусь использовать сторонний API или что-то в этом роде, пока я получаю часть работы.

Я не уверен, что это такое, но есть что-то о RSS, что я не получаю так, если кто-нибудь знает о хороших, возможно, базовых учебниках, которые очень помогли бы мне. Это непростая страница после страницы поисковых запросов.

Кроме того, я не буду суетиться на языке, который выводится в Javascript, PHP или HTML.

Спасибо за помощь.

+1

Возможно, повторите вопрос. Их уже много уже задали. Может быть, это может вам помочь? http://stackoverflow.com/questions/2074795/getting-rss-feeds-on-website Возможно, не то, что вы ищете, но, в частности, плагин SimplePie замечательный. http://simplepie.org/ –

+0

И я не сталкивался с этим, когда писал письмо. Я смотрю на Симлепи и, честно говоря, думаю, что это может быть то, что я ищу. @LiamSpencer – ragebunny

+0

Хороший! Я добавил вам ответ. Удачи. –

ответ

3

Похоже, что SimplePie может быть тем, что вы ищете. Это очень простой RSS-плагин, который довольно прост в использовании и настраивается тоже. Вы можете скачать его с the website.

Вы можете использовать его в своем bare bones или можете delve deeper в плагин, если хотите. Вот demo на своем сайте.

+1

Работает удивительно! Спасибо большое приятель! – ragebunny

+0

Без проблем мужчина! Рад помочь. –

2

index.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; 
     } 
} 
?> 
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"); 
     } 
     } 
    } 
} 
Смежные вопросы