Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] fgets() i preg_match_all() nie pobierają danych
Forum PHP.pl > Forum > Przedszkole
Grzyw
Witam.
Następujący skrypt:
  1. <?
  2. $fp = fopen('http://www.nbp.pl/Kursy/KursyC.html','r');
  3. while ($line=fgets($fp,10000)) {
  4. $text.=$line;
  5. }
  6.  
  7. fclose($fp);
  8.  
  9.  
  10. $str = preg_match_all('#<td class="bg1">(.*?)</td>#si', $text, $jest);
  11. if ($str) {
  12. echo $jest[0][1].' - '.$jest[0][2].'<br>';
  13. echo $jest[0][3].' - '.$jest[0][4].'<br>';
  14. echo $jest[0][5].' - '.$jest[0][6].'<br>';
  15. echo $jest[0][8].' - '.$jest[0][7].'<br>';
  16. echo $jest[0][9].' - '.$jest[0][10].'<br>';
  17. }
  18. else {
  19. echo 'NIE ZNALEZIONO';
  20. }
  21.  
  22. ?>

nie pobiera wszystkich danych, np. euro. Nie potrafię znaleźć przyczyny...
bełdzio
Kod
fgets($fp,10000)
moze dlugosc za mala? try file_get_contents
Grzyw
Cytat(bełdzio @ 28.02.2009, 20:22:25 ) *
Kod
fgets($fp,10000)
moze dlugosc za mala? try file_get_contents


Dzięki, ale to nie to. Zmienna $text zawiera pełne dane. Coś po stronie wyr. regularnych, ale nie mam pojęcia co..
bełdzio
zwroc uwagę, że na stronie nbp kolejne wiersze maja inny kolor smile.gif tak wiec szybka zmiana <td class="bg1">(.*?)</td> na <td class="bg\d">(.*?)</td> zalatwia sprawe smile.gif
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.