PHP: zobrazení RSS na stránkách

Narazil jsem na celkem pěkné řešení jak pomocí PHP skriptu zobrazovat na stránkách RSS z jiných webů.

Zdrojový kód

Řešení se skládá ze dvou souborů. Pojmenujme si je např. index.php a rssclass.php.

index.php

Obsah tohoto souboru by mohl vypadat např. takto:

<style>
.vas{
    float:left;
    width:270px;
    padding:10px;
}
.title-head {
    font-size:18px;
    font-weight:bold;
    text-align:left;
    background-color:#006699;
    color:#FFFFFF;
    padding:5px;}
.feeds-links {
    text-align:left;
    padding:5px;
    border:1px solid #dedede;
 }
</style>
<div>
  <?php
  include('rssclass.php');
  $feedlist = new rss('http://www.zive.cz/rss/sc-47/default.aspx');
  echo $feedlist->display(3,"Živě");
 
  $feedlist = new rss('http://www.lupa.cz/rss/clanky/');
  echo $feedlist->display(3,"Lupa");
  ?>
</div>

rssclass.php

Zdrojový kód by tady mohl vypadat zase např. takto:

<?php
 class rss {
     var $feed;

  function rss($feed)
    {   $this->feed = $feed;  }
 
  function parse()
    {
    $rss = simplexml_load_file($this->feed);
   
    $rss_split = array();
    foreach ($rss->channel->item as $item) {
    $title = (string) $item->title; // Title
    $link   = (string) $item->link; // Url Link
    $description = (string) $item->description; //Description
    $rss_split[] = '<div>
        <a href="'
.$link.'" target="_blank" title="" >
            '
.$title.'
        </a><br />'
.$description.'
   <hr>
          </div>
'
;
    }
    return $rss_split;
  }
  function display($numrows,$head)
  {
    $rss_split = $this->parse();

    $i = 0;
    $rss_data = '<div class="vas">
           <div class="title-head">
         '
.$head.'
           </div>
         <div class="feeds-links">'
;
    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.='</div></div>';
    return $rss_data;
  }
}
?>

Výsledek

Na výsledné stránce to pak může vypadat např. takto.

Publikováno 24.10.2015 v 02:48 | Kategorie: PHP