Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]preg_match
Forum PHP.pl > Forum > Przedszkole
cezarszl
Chciałbym odczytać kursy walut ze zczytanego pliku HTML, a dokładnie z takiego fragmentu:

  1. <tr bgcolor=#FFFFFF >
  2. <td align="left">
  3. <a class="articleTitleLink" href="/inwestowanie/rynek/waluty/profile/CHF.html">CHF/PLN</a>
  4. </td>
  5. <td>2.7106</td>
  6. <td style="color: #FF0000">-0.42 %</td>
  7. <td>2.7256</td>
  8. <td style="color: #FF0000"> -0.02 %</td>
  9. <td align="center">
  10. <b>04:29</b> 2009-12-03
  11. </td>
  12. </tr>
  13. <tr bgcolor=#F5F5F5 >
  14. <td align="left">
  15. <a class="articleTitleLink" href="/inwestowanie/rynek/waluty/profile/EUR.html">EUR/PLN</a>
  16. </td>
  17. <td>4.0895</td>
  18. <td style="color: #FF0000">-0.34 %</td>
  19. <td>4.1045</td>
  20. <td style="color: #FF0000"> -0.07 %</td>
  21. <td align="center">
  22. <b>04:33</b> 2009-12-03
  23. </td>
  24. </tr>


Mam do tego celu:

  1. class waluty
  2. {
  3.  
  4. private $strUser;
  5.  
  6.  
  7. public function __construct()
  8. {
  9. $this -> strUser = file_get_contents( 'result.html');
  10. }
  11.  
  12. public function CHF()
  13. {
  14. preg_match( '#<td>([0-9]\.[0-9]+)</td>#i', $this -> strUser, $r );
  15. return $r[1];
  16. }
  17.  
  18. }
  19.  
  20. $info = new allegroUserInfo;
  21.  
  22. echo $info -> CHF();
  23. ?>


Ale nie wiem co zrobić, żeby nie czytać tylko pierwszego kursu tj. 2.7106, tylko np. ten euro czyli 4.0895. Jakie wyrażenie regularne?

pzdr
tvister
Odnośnie kursów walut nie lepiej skorzystać z csv-auki udostępnionej przez NBP questionmark.gif
$r to jest tablica więc pewnie masz tam wszystkie wartości kursów. Wystarczy tylko odpowiedni indeks podać.
cezarszl
Właśnie problem w tym, że tablica r wygląda następująco:


  1. array(2) { [0]=> string(15) "2.7101" [1]=> string(6) "2.7101" } 2.7101


To znaczy, że pobiera tylko ten pierwszy kurs. Chyba inny wzorzec trzeba ustawić. Właśnie nie wiem.
seth-kk
preg_match_all?
cezarszl
Cytat(seth-kk @ 3.12.2009, 23:21:54 ) *
preg_match_all?



Dziękuje właśnie ty mi pomogłeś tongue.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.