Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciągnięcie zawartości innej strony PROBLEM
Forum PHP.pl > Forum > PHP
Wilu88
Witam

mecze się już jakiś czas z pobraniem tabeli z jednej strony, nie moge za bardzo zrozumieć działania tego kodu oto on:

  1. <?php
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, "http://wyniki.siatka.org/ligi-polskie/2010-2011/plusliga/runda-zasadnicza");
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. $strona = curl_exec($curl);
  6. preg_match_all('/<table class="rtable">(.*?)<\/tbody>/s', $strona, $wyniki);
  7. print_r($wyniki);
  8. curl_close($curl);
  9.  
  10.  
  11. ?>



W Wyniku otrzymuje dwie tabele zamiast jednej, poza tym macie jakiś pomysł jak to ugryźć aby każda pozycja była osobnym elementem tablicy w którym będzie ['pozycja'] ['nazwa_druzyny'] ['liczba_spotkan'] ['punkty'] ['bilans']
Ilware
Problemem jest wyrażenie regularne ,które jest źle stworzone ,a nie samo działanie kodu
Wilu88
A mógłbym ktoś pomóc jak poprawić te wyrażenie? To moja bardzo słaba strona a chciałbym się czegoś nauczyć na ten temat. A na razie jedyne czego się uczę przy tm przykładzie to nowe przekleństwa :/
uupah5
Cytat(Wilu88 @ 11.05.2011, 14:54:44 ) *
A mógłbym ktoś pomóc jak poprawić te wyrażenie?

wędka

http://www.gskinner.com/RegExr/
Wilu88
Ok coś się ruszyło ale dalej nie wiem czemu robi mi trzy tablice :/

Kod wygląda tak:

  1. <?php
  2. $curl = curl_init();
  3. curl_setopt($curl, CURLOPT_URL, "http://wyniki.siatka.org/ligi-polskie/2010-2011/i-liga-mezczyzn/runda-zasadnicza");
  4. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  5. $strona = curl_exec($curl);
  6. preg_match_all('/<tr><td class="first-child">[0-9]<\/td>(.*?)<\/td><\/tr>/s', $strona, $wyniki);
  7. print_r($wyniki);
  8. curl_close($curl);
  9.  
  10.  
  11. ?>


W Wyniku otrzymuje:

  1.  
  2. Array
  3. (
  4. [0] => Array
  5. (
  6. [0] => <tr class="odd"><td class="first-child">2</td><td class="b">
  7. Rajbud GTPS Gorzów Wlkp. </td><td title="wygrane: 17, przegrane: 6">23</td><td class="d">46</td><td title="stosunek setów: 1,526">58:38</td><td title="stosunek małych punktów: 1,055">2172:2058</td></tr>
  8. [1] => <tr class="odd"><td class="first-child">4</td><td class="b">
  9. Ślepsk Suwałki </td><td title="wygrane: 15, przegrane: 8">23</td><td class="d">42</td><td title="stosunek setów: 1,359">53:39</td><td title="stosunek małych punktów: 1,051">2055:1955</td></tr>
  10.  
  11. [2] => <tr class="odd"><td class="first-child">6</td><td class="b">
  12. Pekpol Ostrołęka </td><td title="wygrane: 13, przegrane: 10">23</td><td class="d">39</td><td title="stosunek setów: 1,214">51:42</td><td title="stosunek małych punktów: 1,048">2074:1979</td></tr>
  13. [3] => <tr class="odd"><td class="first-child">8</td><td class="b">
  14. BBTS Bielsko-Biała </td><td title="wygrane: 12, przegrane: 11">23</td><td class="d">37</td><td title="stosunek setów: 1,065">49:46</td><td title="stosunek małych punktów: 1,046">2115:2022</td></tr>
  15.  
  16. [4] => <tr class="odd"><td class="first-child">10</td><td class="b">
  17. MCKiS PKE Energetyk Jaworzno </td><td title="wygrane: 10, przegrane: 13">23</td><td class="d">31</td><td title="stosunek setów: 0,848">39:46</td><td title="stosunek małych punktów: 0,965">1904:1973</td></tr>
  18. [5] => <tr class="odd"><td class="first-child">12</td><td class="b">
  19. MKS MOW Orzeł Międzyrzecz </td><td title="wygrane: 2, przegrane: 10">12</td><td class="d">7</td><td title="stosunek setów: 0,406">13:32</td><td title="stosunek małych punktów: 0,869">934:1075</td></tr>
  20.  
  21. )
  22.  
  23. [1] => Array
  24. (
  25. [0] => 2
  26. [1] => 4
  27. [2] => 6
  28. [3] => 8
  29. [4] => 10
  30. [5] => 12
  31. )
  32.  
  33. [2] => Array
  34. (
  35. [0] => <td class="b">
  36. Rajbud GTPS Gorzów Wlkp. </td><td title="wygrane: 17, przegrane: 6">23</td><td class="d">46</td><td title="stosunek setów: 1,526">58:38</td><td title="stosunek małych punktów: 1,055">2172:2058
  37. [1] => <td class="b">
  38. Ślepsk Suwałki </td><td title="wygrane: 15, przegrane: 8">23</td><td class="d">42</td><td title="stosunek setów: 1,359">53:39</td><td title="stosunek małych punktów: 1,051">2055:1955
  39. [2] => <td class="b">
  40.  
  41. Pekpol Ostrołęka </td><td title="wygrane: 13, przegrane: 10">23</td><td class="d">39</td><td title="stosunek setów: 1,214">51:42</td><td title="stosunek małych punktów: 1,048">2074:1979
  42. [3] => <td class="b">
  43. BBTS Bielsko-Biała </td><td title="wygrane: 12, przegrane: 11">23</td><td class="d">37</td><td title="stosunek setów: 1,065">49:46</td><td title="stosunek małych punktów: 1,046">2115:2022
  44. [4] => <td class="b">
  45. MCKiS PKE Energetyk Jaworzno </td><td title="wygrane: 10, przegrane: 13">23</td><td class="d">31</td><td title="stosunek setów: 0,848">39:46</td><td title="stosunek małych punktów: 0,965">1904:1973
  46. [5] => <td class="b">
  47.  
  48. MKS MOW Orzeł Międzyrzecz </td><td title="wygrane: 2, przegrane: 10">12</td><td class="d">7</td><td title="stosunek setów: 0,406">13:32</td><td title="stosunek małych punktów: 0,869">934:1075
  49. )
  50.  
  51. )
  52.  



Jak widać 0 tablica jest OK, 1 i 2 trzeba by sie było pozbyć.

Druga kwestia to że poszczególne elementy tabeli są zapisywane na dwa sposoby:
<tr class="odd"><td class="first-child">
<tr><td class="first-child">

Jak teraz to zapisać aby pobierał zawartości spełniające ten lub ten warunek questionmark.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.