Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match - Działa
Forum PHP.pl > Forum > Przedszkole
aldzik
Witam. Napisany mam skrypt z preg_match i działa. Tylko jest mały problem.

To jest skrypt(link podałem dla przykładu):
  1. <?php
  2.  
  3. $page = file_get_contents ('http://example.com/');
  4. preg_match ('#<tr colspan="2" class="war1"[^>]*>(.+?)</tr>#is', $page, $match);
  5.  
  6. echo $match[0];
  7.  
  8. ?>


I teraz tak, strona z której pobieram dane ma taki kod:
  1. <tr colspan="2" class="war1">
  2.  
  3. <td class="war2">Nazwa:</td>
  4.  
  5. <td id="w_3"></td>
  6.  
  7. </tr>


Problem polega na tym, że komórki
  1. <td class="war2">Nazwa:</td>
  2. <td id="w_3"></td>
pobiera i wyświetla tak Nazwa: a na stronie z której pobieram wyswietla tak: Nazwa: Opel, czyli ta komórka
  1. <td id="w_3"></td>
nie jest pusta tylko jest jakoś uzupełniana, to co muszę w tym przypadku zrobić? Wydaje mi się że jest uzupełniana przez zadeklarowany script js.
Pozdrawiam i czekam na odpowiedzi.
Sephirus
Wejść na tą stronę i zobaczyć (np. poprzez Firebug) w jaki dokładnie sposób uzupełniana jest ta komórka.

Jeśli nie ma jej w źródle pobranym poprzez PHP może to oznaczać zabezpieczenie przed wyciąganiem treści po stronie serwera - wówczas należy spróbować pobawić się CURLem i zasymulować wejście jako przeglądarka.

Jeśli to dalej nie pomaga to najprawdopodobniej ta komórka uzupełniana jest poprzez jakiś AJAX czy JSONP - w takim przypadku właśnie w FireBugu musisz zobaczyć z jakiego adresu jest pobierana i odczytywać dane z tego adresu bezpośrednio z PHP by się do tej wartości dostać.

wink.gif
aldzik
Hmm mam Firebug'a tylko w jaki sposób sprawdzić? pewnie banalny sposób, ale nie mogę dojść do tego.
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.