Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: RSS...generowanie smieci ;/
Forum PHP.pl > Forum > Przedszkole
boya
witam napisalem cos takiego:

index.php

  1. <?php
  2. include(&#092;"config.php\");
  3.  
  4. echo '<'.'?xml version=\"1.0\" encoding=\"ISO-8859-2\"?'.'>';
  5. echo '<!DOCTYPE rss PUBLIC \"-//Netscape Communications//DTD RSS 0.91//EN\" \"http://my.netscape.com/publish/formats/rss-0.91.dtd\">';
  6. echo '<rss version=\"0.91\">';
  7. echo '<channel>';
  8. echo '<title>studinf.org</title>
  9.      <link>http://studinf.org/</link>
  10.      <description>Domowa</description>
  11.      <language>pl</language>';
  12.  
  13.  
  14.  
  15. $sql_rss = &#092;"SELECT * FROM ppnews ORDER BY id DESC \";
  16. $wynik_rss = mysql_query($sql_rss);
  17.  
  18.     while($rss = @mysql_fetch_array($wynik_rss))
  19.     {
  20.     echo &#092;"<item>
  21.         <title>$rss[ntemat]</title>
  22.         <link>http://studinf.org</link>
  23.         <description>$rss[text]</description>
  24.         </item>&#092;";
  25.      }
  26.  
  27.  
  28. echo '</channel>
  29.         </rss>';
  30. ?>


przyklad dzialania mozecie obejrzec na http://studinf.org/rss/

nie wiem co jest zle...niby coś wypisuje ale od RSS to odbiega ;/
hwao
ja napisalem cos takiego
http://www.opb.ibplanet.pl/work/dev/hwao/rss.class.phps
z odczytem jeszcze sa male porlbemy( brak czasu) ale tworzenie dziala
boya
teraz doszedlem do tego problem polega na tym ze jak z bazy pobiore text gdzie w nim znajduja sie znaki '<' i '>' nie pokaze nam rss ?

ma ktos pomysl jak to ominac...
wyciecie samych znakow nic nie da trzeba by wyciac wszytko co pomiedzy nimi...
SET
zamień < na &lt;(<) &gt;(>)
Vengeance
lub
<description>$rss[text]</description>
zmien na
<description><![CDATA[ $rss[text] ]]></description>
boya
Cytat(Vengeance @ 2004-10-27 18:02:45)
lub
<description>$rss[text]</description>
zmien na
<description><![CDATA[ $rss[text] ]]></description>



a co to niby mialo dac ? za efekt
bo ten efekt http://studinf.org/rss to chyba nie to o co mi chodzilo...cos sie popetlilo i zaplątało smile.gif
Vengeance
daje to to ze gdy nie zastosujesz tego CDATA to musisz wszystkie znaki <, >, & zmienaic na encje. gdy go zastusujesz to nie musisz.
a moze sie zapetlilo bo zle go napisalem. sprawdz na google pod CDATA. sam znajdziesz smile.gif
boya
Dochądząc do standardu RSS wykoczyło mi takie cóś biggrin.gif
  1. <?php
  2.  
  3. Warning
  4. This feed is valid, but may cause problems for some users. We recommend fixing these problems.
  5.  
  6. 1.Feeds should not be served with the &#092;"text/html\" media type
  7. 2.Your feed appears to be encoded as &#092;"ISO-8859-2\", but your server is reporting \"US-ASCII\" 
  8. 3.line 815, column 145: description should not contain onmouseover tag (3 occurrences) 
  9.  
  10. ... a></b> | Robibi | 2004-01-02 | 23:46 ]]></description>
  11. //chodzi o taga < zamykającego description
  12. 4.line 815, column 145: description should not contain onmouseout tag (3 occurrences)
  13.  
  14. ... a></b> | Robibi | 2004-01-02 | 23:46 ]]></description> //i tutaj tak samo...
  15. //chodzi o taga < zamykającego description
  16.  
  17. ?>


tak jak widać mam głównie problem z 3 i 4 punktem...

kod:
  1. <?php
  2. include(&#092;"config.php\");
  3.  
  4. echo '<'.'?xml version=\"1.0\" encoding=\"ISO-8859-2\"?'.'>';
  5. echo '<rss version=\"2.0\">';
  6. echo '<channel>';
  7. echo '<title>studinf.org</title>
  8.  <link>http://studinf.org/</link>
  9.  <description>Strona studentów drugiego roku studiów zaocznych PP | informatyka</description>
  10.  <language>pl</language>';
  11.  
  12.  
  13.  
  14. $sql_rss = &#092;"SELECT * FROM ppnews ORDER BY id DESC\";
  15. $wynik_rss = mysql_query($sql_rss);
  16.  
  17. while($rss = @mysql_fetch_array($wynik_rss))
  18. {
  19. echo &#092;"<item>
  20. <title><![CDATA[$rss[tytul]]]></title>
  21. <link>http://studinf.org</link>
  22. <description><![CDATA[$rss[text] | $rss[kto] | $rss[kiedy] ]]></description>
  23. </item>&#092;";
  24.  }
  25.  
  26. echo '</channel>
  27. </rss>';
  28. ?>
Guest
Cytat(boya @ 2004-10-27 14:50:11)
witam napisalem cos takiego:

index.php

  1. <?php
  2. include("config.php");
  3.  
  4. echo '<'.'?xml version="1.0" encoding="ISO-8859-2"?'.'>';
  5. echo '<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">';
  6. echo '<rss version="0.91">';
  7. echo '<channel>';
  8. echo '<title>studinf.org</title>
  9.  <link>http://studinf.org/</link>
  10.  <description>Domowa</description>
  11.  <language>pl</language>';
  12.  
  13.  
  14.  
  15. $sql_rss = "SELECT * FROM ppnews ORDER BY id DESC ";
  16. $wynik_rss = mysql_query($sql_rss);
  17.  
  18. while($rss = @mysql_fetch_array($wynik_rss))
  19. {
  20. echo "<item>
  21. <title>$rss[ntemat]</title>
  22. <link>http://studinf.org</link>
  23. <description>$rss[text]</description>
  24. </item>";
  25.  }
  26.  
  27.  
  28. echo '</channel>
  29. </rss>';
  30. ?>


przyklad dzialania mozecie obejrzec na http://studinf.org/rss/

nie wiem co jest zle...niby coś wypisuje ale od RSS to odbiega ;/

laugh.gif aaevil.gif
jerz
Witam,

ja też kiedyś popełniłem klasę do generowania rss, pomyślałem, że może się komuś przydać, więc zamieściłem ją w sieci, z krótkim opisem użycia: Generowanie RSS w PHP5
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.