За последние 24 часа нас посетили 17710 программистов и 1628 роботов. Сейчас ищут 1025 программистов ...

Необходимо сделать вывод RSS ленты на сайт

Тема в разделе "PHP Free-Lance", создана пользователем zadpot_ru, 12 сен 2016.

  1. zadpot_ru

    zadpot_ru Активный пользователь

    С нами с:
    21 фев 2015
    Сообщения:
    20
    Симпатии:
    1
    Здравствуйте, бюджет у меня не большой)

    Необходимо сделать вывод RSS ленты на другой сайт + не большое оформление.

    Визуально..
    http://no-steamserv.ru/uploads/posts/2016-09/1473674341_2016-09-12_14-56-08.png


    Сама лента: http://no-steamserv.ru/rss.xml


    Cам сайт куда эту ленту надо запихать) http://mon.no-steamserv.ru

    Нашел на просторах интернета данный файл..



    Код (Text):
    1. <?php
    2.  
    3. function print_rss($url_rss,$file_rss,$hclock,$kol_print_news)
    4.   {
    5.     //$url_rss - URL-адрес RSS потока
    6.     //$file_rss - адресс файла дл¤ хранени¤ RSS-новостей
    7.     //$hclock - врем¤ обновлени¤, в часах
    8.     //$kol_print_news - количество выводимых новостей
    9.    
    10.    
    11.  
    12.     if (!file_exists($file_rss))//если файл не сохран¤ли, то сохран¤ем на локальном сервере
    13.       {
    14.        if (@!copy ($url_rss,$file_rss))
    15.          return (false);
    16.       }
    17.      else
    18.        {
    19.         //если существует, то провер¤ем устарел ли файл (не более ’ часов назад он записан)
    20.         if (filemtime($file_rss) + $hclock*60*60 < time())
    21.           {
    22.            if (@!copy ($url_rss,$file_rss))
    23.              return (false);
    24.           }
    25.        }
    26.      
    27.    
    28.     $text_rss=file($file_rss);
    29.     $text_rss=implode("",$text_rss);
    30.  
    31.     $mas_item=array();
    32.     preg_match_all("#<item>.*?</item>#is",$text_rss,$mas_item);
    33.  
    34.     $t="";
    35.     $kol=0;
    36.     if (sizeof($mas_item)>0)
    37.       {
    38.      
    39.        foreach ($mas_item[0] as $one_item)
    40.          {
    41.           $kol++;
    42.           $t_is=preg_match("#<title>(.*?)</title>#is",$one_item,$title);
    43.           $l_is=preg_match("#<link>(.*?)</link>#is",$one_item,$link);
    44.           $d_is=preg_match("#<description>(.*?)</description>#is",$one_item,$description);
    45.           if ($t_is and $l_is)
    46.             {
    47.              $title[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$title[1]);
    48.              $link[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$link[1]);
    49.              $description[1]=preg_replace("#<\!\[CDATA\[(.*?)\]\]>#eis","'\\1'",$description[1]);
    50.              $t.="<div><a href='".$link[1]."' target='_blank'>".$title[1]."</a> <br></div>";
    51.             }
    52.           if ($kol >= $kol_print_news) break;
    53.          }
    54.       }
    55.  
    56.     echo ($t);
    57.  
    58.    
    59.     return (true);
    60.   }
    Подключил данный файл вот так:

    Код (Text):
    1. include_once("write_rss.php");//подключаем файл с функцией вывода RSS-новостей
    2.  
    3. //адресс новостей (URL-адрес RSS потока)
    4. $url_rss="http://no-steamserv.ru/rss.xml";
    5.  
    6. //количество выводимых новостей
    7. $kol_print_news=5;
    8. //имя файла для хранения RSS-новостей на локальном сервере (то есть кэш-файл)
    9. $file_rss="cache_rss.xml";
    10. //время обновления, в часах
    11. $hclock=1;
    12.  
    13. print_rss($url_rss,$file_rss,$hclock,$kol_print_news);//вызываем функцию вывода RSS-новостей
    14. $DATA['print_rss']= "include_once";


    Может кто то сможет сделать) Бюджет всего 200 рублей...