Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie kursów walut z PKO BP
Forum PHP.pl > Forum > PHP
phpion
Witam,
chciałbym pobrać aktualne kursy walut z PKO BP spod tego adresu:
http://www.money.pl/pieniadze/banki/pko
Napisałem kod tworzący takie wyrażenie regularne:
Kod
/<td[ a-z="]*>([[:alpha:]]*)<\/td>\n<td[ a-z="]*>([[:alnum:] ]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*([+|-]?[0-9\.]*)<\/td>\n<td[ a-z="]*>([+|-]?[0-9\.]*)<\/td>\n
/

Jak widać regexp jest kosmicznie długi smile.gif dlatego chciałbym się dowiedzieć czy można go zapisać inaczej, prościej? Jeśli tak to prosiłbym o porady jak go zmodyfikować.
Pozdrawiam: pion

PS: w efekcie chciałbym dostać tablicę (taką tworzy również mój regexp):
  1. <?php
  2. (
  3. [0] => Array
  4. (
  5. [0] => Australia
  6. 1 AUD
  7. 781
  8. 2.2527
  9. -0.80
  10. 2.3682
  11. -0.80
  12. 2.2640
  13. -0.80
  14. 2.3564
  15. -0.80
  16.  
  17. [1] => Australia
  18. [2] => 1 AUD
  19. [3] => 781
  20. [4] => 2.2527
  21. [5] => -0.80
  22. [6] => 2.3682
  23. [7] => -0.80
  24. [8] => 2.2640
  25. [9] => -0.80
  26. [10] => 2.3564
  27. [11] => -0.80
  28. )
  29.  
  30. [1] => Array
  31. (
  32. [0] => Czechy
  33. 1 CZK
  34. 213
  35. -
  36. -
  37. -
  38. -
  39. 0.1327
  40. +0.15
  41. 0.1381
  42. +0.15
  43.  
  44. [1] => Czechy
  45. [2] => 1 CZK
  46. [3] => 213
  47. [4] => -
  48. [5] => -
  49. [6] => -
  50. [7] => -
  51. [8] => 0.1327
  52. [9] => +0.15
  53. [10] => 0.1381
  54. [11] => +0.15
  55. )
  56. ...
  57. );
  58. ?>
kossa
Po co tak kombinujesz, na oficjalnej stronie NBP są kursy walut w postaci plików XML, którw wystarczy przeparsować i masz wszystko jak na dłoni a tu wystarczy że money.pl przesunie jedno <td> i już nic Tobie nie zadziała, jeśli nie nbp to szukaj innych serwisów podających kursy w postaci xml.

Łukasz
phpion
Właśnie sęk w tym, że muszę użyć PKO BP, bo mają najwyższy kurs euro. Różnica między PKO BP, a NBP to ok. 10 gr. Raczej nie wytłumacze Klientowi, że ma używać mniejszego przelicznika (czyli zarabiać mniej) z racji tego, że NBP udostępnia XMLa.
kossa
Napisz do banku meila czy udostępniają gdzieś na stronie xml smile.gif http://www.pkobp.pl/index.php/id=waluty/zone=-1/section=ogol

Łukasz
phpion
Heh, od tego zacząłem. Ten link podany przez Ciebie to link do kursów bezpośrednio z PKO, ale patrząc w źródło strony mam pewne obawy co do tego, czy za jakiś czas nie zostanie zmieniony...
  1. <td width="10%" align="right" valign="middle" bgcolor="#EEF1F7"><p class="tabletext"><font color="red">0.1374</a></p></td>

Dlatego właśnie pobieram dane z money.pl
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.