Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]/[curl] pobieranie danych ze strony, problem z wyrażeniem
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Foxx
post
Post #2





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


  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);
Go to the top of the page
+Quote Post
Lejto
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok już sobie poradziłem zmieniłem to 2 wyrażenie i jest ok
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:21