Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Curl i wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
Otto
Witam postanowiłem spróbować wyciągnąć dane z przykładowej strony ale napotkałem problem...

  1. $curl = curl_init();
  2. curl_setopt($curl, CURLOPT_URL, "http://diff-anime.pl/index.php");
  3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  4. $strona = curl_exec($curl);
  5. preg_match_all("/<div class='ostatnio_dodane odbg'>(.*?)<\/div><\/div>/", $strona, $wyniki);
  6. print_r($wyniki);
  7. curl_close($curl);


Zwracane wyniki to
  1. (
  2. [0] => Array
  3. (
  4. )
  5.  
  6. [1] => Array
  7. (
  8. )
  9.  
  10. )


Jednak nie wiem w czym problem... Takie dane na pewno istnieją na tej stronie.
nospor
Czy tak cięzko zrobić:
var_dump($strona);
by się upewnić czy oby na pewno jest tam to co być powinno?
Otto
var_dump($strona) zwraca mi
  1. string(0) ""
ale niestety to nic mi nie mówi a w manualu nic nie piszę bądź nie rozumiem tego...
nospor
No skoro $strona nic nie zawiera to znaczy że to nie jest wina wyrażenia regularnego, tak? I już wiesz gdzie szukać błędu
W tej chwili nie jest błędem wyrażenie regularne a fakt, że cur zwraca ci pusty tekst zamiast treści strony - tu masz szukać błędu.

Wchodząc na Twoją stronę zostajemy przekierowani z index.php na news.php - dlatego curl zwraca ci pustkę bo ty nie idziesz za przekierowaniem.
Nie możesz od razu odwoływać się do news?

Odwołując się od razu do news.php zamiast do index.php i dodając modyfikator s chyba działa:
  1. $curl = curl_init();
  2. curl_setopt($curl, CURLOPT_URL, "http://diff-anime.pl/news.php");
  3. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  4. $strona = curl_exec($curl);
  5. preg_match_all("/<div class='ostatnio_dodane odbg'>(.*?)<\/div><\/div>/s", $strona, $wyniki);
  6. print_r($wyniki);
  7. curl_close($curl);
Otto
A no tak biggrin.gif Dzięki bardzo
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.