Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie danych przy pomocy PHP Simple HTML DOM Parser
Forum PHP.pl > Forum > Przedszkole
Remik37
Witajcie
mam problem z parsowaniem strony z wykorzystaniem PHP Simple HTML DOM Parser.
Niestety, ale zaciąłem się już na samym początku...

...mam:

  1. require_once('simple_html_dom.php');
  2. $html = file_get_html('https://www.jakasstrona.com/data/get-detail?no=733');



Strona, która została pobrana ma np. taki kawałek:


  1. <td class="size25 bold">Application number</td><td class="size75">011111111</td>
  2. </tr>
  3. <tr>
  4. <td class="size25 bold">Application language</td><td class="size75">en</td>
  5. </tr>
  6. <tr>
  7. <td class="size25 bold">Application date</td><td class="size75">2015-01-01</td>
  8. </tr>
  9. <tr>
  10. <td class="size25 bold">Second language</td><td class="size75">de</td>
  11. </tr>


I teraz potrzebuję pobrać np. "Application number" czyli "011111111", albo "Application date" czyli "2015-01-01"
...jakieś wzkasówki jak przygotować zapytanie w PHP Simple HTML DOM Parser, żeby pobrał takie dane?

Pozdrawiam
R.
rad11
a tak?
  1. $html->find('td[class=size75]');
Remik37
hmm, no tak, ale to chyba pobierze wszystkie elementy "td", które mają class=size75... a będzie ich kilkadziesiąt na stronie.

Zastanawiam się, czy nie zostawić w spokoju PHP Simple HTML DOM Parser i skorzystać z takiego rozwiązania:


  1. $site = 'https://www.jakasstrona.com/data/get-detail?no=733';
  2. $data = file_get_contents($site);
  3. preg_match('[<td class="size25 bold">Application number</td><td class="size75">(.+?)</td>]', $data, $number);
  4. preg_match('[<td class="size25 bold">Application date</td><td class="size75">(.+?)</td>]', $data, $date);


i poźniej dobierać się do tego za pomocą np, echo $number[1];

Tak chyba będzie łatwiej?
rad11
Mozesz i tak tez to wykonac
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.