4 votes

Comment afficher les flux RSS d'autres sites

Cela fait quelques jours que je fais des recherches sur ce sujet et je ne sais toujours pas comment m'y prendre.

Je veux obtenir un flux RSS de forexfactory.com sur mon site Web, je veux faire un peu de mise en forme sur ce qui se passe et je veux aussi les dernières informations d'eux (Bien que ces deux derniers points peuvent attendre tant que j'ai un peu plus ou un flux en cours d'exécution).

J'aimerais de préférence le développer à partir de la base, si quelqu'un connaît un tutoriel ou quelque chose que je pourrais utiliser ?

Si ce n'est pas le cas, je me contenterai d'utiliser une API tierce ou quelque chose comme ça, du moment que je fais une partie du travail.

Je ne suis pas sûr de ce que c'est, mais il y a quelque chose à propos de RSS que je ne comprends pas. Si quelqu'un connaît un bon tutoriel, probablement basique, cela m'aiderait beaucoup. C'est un peu difficile de passer en revue les pages de recherches google.

Je ne suis pas non plus très regardant sur le langage utilisé pour la sortie en Javascript, mais PHP ou HTML serait parfait.

Merci pour votre aide.

3voto

Liam Spencer Points 628

Il semble que SimplePie puisse être ce que vous recherchez. Il s'agit d'un plugin RSS très basique, assez facile à utiliser et personnalisable. Vous pouvez le télécharger à partir de le site web .

Vous pouvez l'utiliser à son os nu ou vous pouvez approfondir dans le plugin si vous le souhaitez. Voici un Démonstration sur leur site web.

2voto

Ravi Patel Points 551

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;
        }
}
?>

0voto

developer68 Points 1

Je n'ai pas incorporé les balises < TABLE > car il se peut que vous souhaitiez afficher plus d'un article.

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");
        }
      }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X