rss в html, - как?

Тема в разделе "Веб-дизайн", создана пользователем Janee, 14 мар 2010.

Статус темы:
Закрыта.
Модераторы: zek24
  1. Janee

    Janee Создатель

    Регистр.:
    10 янв 2009
    Сообщения:
    45
    Симпатии:
    0
    давно не могу найти вразумительного решения.
    Нужно в html страницу встроить вывод rss ленты как это сделано на юкозе, т.е новостной rss с картинками конвертировался на странице и выводился в виде новостей с картинки которые отдает канал.
    Подскажите как это можно реализовать?
     
  2. Janee

    Janee Создатель

    Регистр.:
    10 янв 2009
    Сообщения:
    45
    Симпатии:
    0
    я читал и пробовал некоторые php скрипты, но ничего путевого не нашел, может кто подскажет где найти или как "организовать" вывод rss на html станице
     
  3. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.035
    Симпатии:
    703
    вот здесь посмотри http://www.nulled.ws/showthread.php?t=168088 правда там реализовано без вывода картинок но в принципе там нужно немного изменить код и будут картинки
     
  4. int++

    int++ Писатель

    Регистр.:
    26 янв 2010
    Сообщения:
    6
    Симпатии:
    2
    Ну парсер на пыхе сделать, потом выводить по тегам и стиль задаешь.
     
  5. Janee

    Janee Создатель

    Регистр.:
    10 янв 2009
    Сообщения:
    45
    Симпатии:
    0
    спасибо, посмотрел, но опять же, как я писал, я в php не разбираюсь и что либо изменить для функционирования не смогу сам,

    Парсер я сделать не могу сам! Если бы мог написал бы молча и не обращался на форум, дайте конкретный пример!
     
  6. alano

    alano Создатель

    Регистр.:
    12 дек 2008
    Сообщения:
    38
    Симпатии:
    1
    Я лично пользуюсь MagpieRSS парсером для вывода ленты в html страницу. необходимые файлы можно скачать по этой ссылке http://ineedscript.ru/magpierss/magpierss-0.61.rar
    загрузить эти файлы на сервер.
    затем прописал код (у меня на главной странице)сразу после тэга боди
    Код:
    <?
    require_once 'inc/rss_fetch.inc';
    $url = 'здесь урл вашей ленты';
    $rss = fetch_rss($url);
    ?>
    и затем в нужном месте вывод содержимого
    Код:
    <?
    	echo "Лента: " . $rss->channel['title'] . "";
    	echo "<ul>";
    	foreach ($rss->items as $item) {
    		$href = $item['link'];
    		$title = $item['title'];
            $description = $item['description'];
    		echo "<li><h4><a href='$href'>$title</a></h4>$description</li>";
    	}
       echo "</ul>";	
    ?>
    
    вроде ничего не упустил....
     
  7. makotokino

    makotokino Создатель

    Регистр.:
    10 дек 2009
    Сообщения:
    30
    Симпатии:
    5
    Лента + пустая база sql(ID,title, description text, link, date, category)а можно срзу к своей приделать.
    Проверяла, нормально работает.

    PHP:
    <?php
        
         
    include "rss.inc";           
         include 
    "conn.inc";       


       
    $Rss= new CRss();

       
    $Rss->Title="Заголовок канала";
       
    $Rss->Link="http://localhost";
       
    $Rss->Description="Описание";
       
    $Rss->Category "";
       
    $Rss->Language="ru";

       
    $Rss->ManagingEditor="info@localhost";
       
    $Rss->WebMaster="info@localhost";
       
    $Rss->Query="SELECT
                    BLOG.title,
                    BLOG.description,
                    BLOG.link,
                    BLOG.date,
                    BLOG.category
         FROM BLOG
         ORDER by date desc Limit 0,20"
    ;

        
    $Rss->Open($Server,$DataBase,$Login,$Password);
         
    $Rss->LastBuildDate=date("r");
         
         
    $query "select BLOG.date
                            FROM BLOG
              ORDER by BLOG.date desc Limit 0,1"
    ;

          
    $result1 mysql_query($query)
                  or die(
    "FROM blog failed");

          
    $line mysql_fetch_array($result1);

          
    $Date =date("r",strtotime($line[0]));
           
    mysql_free_result($result1);

          
    $Rss->LastBuildDate=$Date;
          
    $Rss->PubDate=$Rss->LastBuildDate;

         
    $Rss->PrintHeader();
         
    $Rss->Query();

         while (
    $line mysql_fetch_array($Rss->Result))
         {   
                   
    $Title $line[0];
                   
    $Description $line[1];
                   
    $Link=$line[2];
                   
    $PubDate=date("r",strtotime($line[3]));
                   
    $Category=$line[4];
                   
    $Rss->PrintBody($Title,$Link,$Description,$Category,$PubDate);
        }
        
    $Rss->PrintFooter();
        
    $Rss->Close();

    ?>


    conn.inc

    PHP:
    <?php
    $Server
    ="localhost";
    $DataBase "";
    $Password "";
    $Login "";
    ?>
    rss.inc

    PHP:
    <?php

    class CRss
    {
     var 
    $Title;        
     var 
    $Link;            
     var 
    $Description;    
     var 
    $LastBuildDate;  
     var 
    $Language;       
     var 
    $PubDate;        
     var 
    $ManagingEditor;  
     var 
    $WebMaster;      
     var 
    $Category;      

     var 
    $Query;          
     var 
    $Connect;           
     var 
    $Result;         

     function 
    Translate($text)   
     {


        
    $trans = array("<" => "&lt;"">" => "&gt;",'"' => "&quot;","&" => "&amp;");
        
    $text=strtr($text,$trans);
        
    $array=explode("<br>",$text);
        
    $count=count($array);
        return 
    $text;

     }

     function 
    Query()
     {
       
    $this->Result mysql_query($this->Query) or die("Query failed");
     }
     function 
    Open($Server,$DataBase,$Login,$Password)    
      {
      
    $this->Connect mysql_connect($Server$Login$Password ) or die("Could not connect");
              
    mysql_select_db($DataBase) or die("Could not select database");

      }
      function 
    Close()  
      {
         
    mysql_free_result($this->Result);
         
    mysql_close($this->Connect);
      }


     function 
    PrintHeader()   
     {
          
    header("Content-Type: application/xml ");   
           
    $RN="\r\n";
          
    $End="?";
          
    $Date=date("r");   
          print 
    "<$End";
          print 
    "xml version=\"1.0\" encoding=\"windows-1251\" $End$RN";
          print 
    "<rss version=\"2.0\">$RN";
          print 
    "   <channel>$RN";
          print 
    "       <title>$this->Title</title>$RN";
          print 
    "       <category>$this->Category</category>$RN";
          print 
    "       <link>$this->Link</link>$RN";
          print 
    "       <copyright>$this->Copyright</copyright>$RN";
          print 
    "       <description>$this->Description</description>$RN";
          print 
    "       <lastBuildDate>$this->LastBuildDate</lastBuildDate>$RN";
          print 
    "       <language>$this->Language</language>$RN";
          print 
    "       <pubDate>$this->PubDate</pubDate>$RN";
          print 
    "       <docs>http://</docs>$RN";
          print 
    "       <managingEditor>$this->ManagingEditor</managingEditor>$RN";
          print 
    "       <webMaster>$this->WebMaster</webMaster>$RN";
    }
     function 
    PrintBody($Title,$Link,$Description,$Category,$PubDate)   
    {
           
    $RN="\r\n";
        
          
    $Description =$this->Translate($Description);
          print 
    "              <item>$RN";
          print 
    "                <title>$Title</title>$RN";
          print 
    "                 <link>$Link</link>$RN";
          print 
    "                 <description>$Description</description>$RN";
          print 
    "                 <category>$Category</category>$RN";
          print 
    "                 <pubDate>$PubDate</pubDate>$RN";
          print 
    "                 <guid>$Link</guid>$RN";
          print 
    "              </item>$RN";
    }
     function 
    PrintFooter()   
     {
        print 
    "   </channel>$RN";
        print 
    "</rss>$RN";
     }


    }
    ?>



     
Статус темы:
Закрыта.