Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciągnięcie zawartości innej strony PROBLEM
Wilu88
post 10.05.2011, 21:55:37
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


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']
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ilware
post 10.05.2011, 22:21:40
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Problemem jest wyrażenie regularne ,które jest źle stworzone ,a nie samo działanie kodu


--------------------
Jeżeli pomogłem kliknij "Pomógł" :)
Go to the top of the page
+Quote Post
Wilu88
post 11.05.2011, 13:54:44
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


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 :/
Go to the top of the page
+Quote Post
uupah5
post 11.05.2011, 13:57:11
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 4.09.2010
Skąd: warszawa

Ostrzeżenie: (0%)
-----


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/
Go to the top of the page
+Quote Post
Wilu88
post 11.05.2011, 19:07:00
Post #5





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:35