Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]/[curl] pobieranie danych ze strony
Forum PHP.pl > Forum > PHP
Lejto
Napisałem kod który pobiera ze strony tabelkę i ją normalnie wyświetla kod źródłowy tabelki:
  1. <table class="contentpaneopen">
  2. <tr>
  3. <td valign="top" colspan="2">
  4. <p>ZMIANY PLANU NA WTOREK</p><table border="0" width="514" height="23"><tbody><tr><td><p>I C i I d- chłopcy na 5 godz. do świetlicy</p><p>III E- chłopcy na 7 godz. do świetlicy</p><p>III F-chłopcy na 7 godz. do świetlicy</p><p>II F- na 2 godz. do świetlicy </p><p>&nbsp;</p><br /></td></tr></tbody></table>
  5.  
  6. </td>
  7.  
  8. </tr>
  9. </table>

mój kod
  1. <?php
  2. $ch = curl_init("http://www.metacritic.com/video/");
  3. curl_setopt($ch, CURLOPT_USERAGENT, "Internet Explorer");
  4.  
  5.  
  6. curl_exec($ch);
  7. curl_close($ch);
  8.  
  9. $str = ob_get_contents();
  10.  
  11. preg_match("/<table class=\"contentpaneopen\">(.*?)</table>/is", $str, $byname);
  12. preg_match_all("/<tr><td.*?>(.*?)</td>.*?<a.*?>(.*?)<br>/is",$byname[0], $data_z);
  13.  
  14. $data = array();
  15. for($i = 0; $i < count ($data_z[1]); $i++)
  16. {
  17.    $zmiana = $data_z[1][$i];
  18.    $data []= array($zmiana);
  19. }
  20. foreach ($data as $pokaz)
  21. {
  22.    echo $pokaz[0];
  23.    
  24. }

Nic nie wyświetla, jest problem z wyrażeniem czy jest dobrze napisane?
Foxx
  1. <?php
  2. preg_match("/<table class=\"contentpaneopen\">(.*?)</table>/is", $str, $byname);
  3. ?>

nic nie znajduje i pozostawia pustą zmienną $byname a następnie wyświetla notice:
Kod
Notice: Undefined offset: 0

gdy próbujesz jej użyć w kolejnej linii:
  1. <?php
  2. preg_match_all("/<tr><td.*?>(.*?)</td>.*?<a.*?>(.*?)<br>/is",$byname[0], $data_z);
Lejto
ok już sobie poradziłem zmieniłem to 2 wyrażenie i jest ok
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.