Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Co z tym skryptem ?
Forum PHP.pl > Forum > Przedszkole
kiler129
Napisałem prosty czytnik RSS na stronę www. Metoda interpretacji może trochę dziwna no ale aaevil.gif

  1. <?
  2. $plik = 'http://rss.gazeta.pl/pub/rss/deser.xml';
  3.  
  4. $fp = fopen("$plik", "r");
  5. $zaw = '';
  6. while (!feof($fp)) 
  7.  {
  8. $xml .= fread($fp, 128); // Odczytanie 128 znakow ze strony i czytanie az skonczy sie plik 
  9.  
  10.  }
  11.  
  12. $i = 2;
  13. while(isset($xml))
  14. {
  15.  
  16. $xml = explode("<item>", $xml);
  17. $xml = $xml[$i];
  18. $xml = str_replace('</item>', '<hr>', $xml);
  19.  
  20. $xml = strip_tags($xml, '<link><title><category><description><pubDate>');
  21. $xml = str_replace('<link>', '<lk>', $xml);
  22. $xml = str_replace('</link>', '<lk>', $xml);
  23. $xml = str_replace('</title>', '<title>', $xml);
  24. $xml = str_replace('</category>', '<category>', $xml);
  25. $xml = str_replace('</description>', '<description>', $xml);
  26. $xml = str_replace('</pubDate>', '<pubDate>', $xml);
  27. $xml = str_replace('<link>', '<a href="', $xml);
  28. $xml = str_replace('</link>', '"target=_blank>KLIK</a>', $xml);
  29.  
  30.  
  31. // ELEMENTY
  32. $link = explode('<lk>', $xml);
  33. $tytul = explode('<title>', $xml);
  34. $tresc = explode('<description>', $xml);
  35. $kategoria = explode('<category>', $xml);
  36. $data = explode('<pubDate>', $xml);
  37.  
  38. $link = $link[1];
  39. $tytul = $tytul[1];
  40. $tresc = $tresc[1];
  41. $kategoria = $kategoria[1];
  42. $data = $data[1];
  43.  
  44. // echo $xml[1];
  45. // echo $xml;
  46.  
  47. echo '<b>Tytul: </b>';
  48. echo $tytul;
  49. echo '(';
  50. echo $data;
  51. echo ')';
  52. echo '<br><br><br><b>Tresc:</b><br>';
  53. echo $tresc;
  54. echo '<br><br><br><br><b>Zrodlo: </b><a href="';
  55. echo $link;
  56. echo '"target=_blank>';
  57. echo $link;
  58. echo '</a><hr>';
  59.  
  60. $i++;
  61. }
  62. fclose($fp);
  63.  
  64. ?>


Problem jest taki że pierwszy news sie pokazuje a reszta sie zapetla i nie pokazuje nic sad.gif

CO tu jest nie tak ?
Darti
bo
Cytat
while(isset($xml))
zawsze jest true (dlatego się zapętla)

a w 17 linijce niszczysz tablicę
Cytat
$xml = $xml[$i];
dlatego tylko pierwsza pętla daje pożądany efekt
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.