Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z CURL
Forum PHP.pl > Forum > PHP
qoryto
Witam. na podstawie skryptu chcę zmodyfikować go aby pobrać program tv z tv.wp.pl

  1.  
  2. $url = 'http://tv.wp.pl';
  3.  
  4. // Ścieżka do cache'a
  5. $cache = dirname(__FILE__).'/tv.txt';
  6. // Dane aktualne?
  7. $recent = TRUE;
  8.  
  9. // Sprawdzenie możliwości zapisania pogody
  10. if( ( !file_exists($cache) AND !is_writable(dirname($cache)) )
  11. OR ( file_exists($cache) AND !(is_writable($cache)) ) ) {
  12. $cache = '';
  13. }
  14. // Dane są aktualne?
  15. elseif( @filemtime($cache) < strtotime('-1 hours') ) {
  16. $recent = FALSE;
  17. }
  18.  
  19. // Nie istnieje możliwość zapisania informacji lub dane są nieaktualne
  20. if($cache == '' OR !$recent) {
  21. // Pobieramy pogodę
  22. 'http' => array(
  23. 'header' => 'Referrer: http://tv.wp.pl',
  24. 'user_agent' => 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)',
  25. )
  26. )));
  27.  
  28. // Można zapisać do cache'a
  29. if($cache != '') {
  30. // Zapamiętujemy dane
  31. file_put_contents($cache, $wynik);
  32. }
  33. }
  34. else
  35. {
  36. // Ładujemy zapisane dane
  37. $wynik = file_get_contents($cache);
  38. }
  39.  
  40.  


zapisuje do pliku a.txt strone, pytanie co dalej? Jak wyciąć niepotrzebne elementy i wyciągnąć interesujące mnie dane, oraz wyświetlić w własnej formie?
ShadowD
Wyrażenia regularne -> google.pl i masz :-)
qoryto
wszystko fajnie, tylko nie wiem co się z czym je. O wyrażeniach czytałem ale to chyba za mało, żeby dopisać funkcje.
Quadina
Spróbuj zatem takiej konstrukcji jak poniżej. Zwróci Ci ona wycięcie pomiędzy dwoma tagami które wpiszesz. Jest niestety toporna, bo wydrukuje głupoty gdy nie będziesz miał podanych tagów, albo gdy tagów będzie podobnych kilka, zwróci tylko pierwszy z nich.

  1. function getPartHTML($body, $od, $do){
  2. $a = stripos($body, $od);
  3. $b = stripos($body, $do);
  4. return substr($body, $a, ($b-$a));
  5. }
  6.  
  7. $html = '<html><head><title>test</title></head><body><p>tutaj jakis tekst</p><h2>testujemy</h2></body></html>';
  8. echo getPartHTML($html, '<body>', '</body>'); // wydrukuje Ci fragment tylko z body.


Uprzedając fakty, wiem, że jest to niepoprawne dla wszystkich znających wyrażenia regularne, ale być może wspomoże to skrypt autora tego tematu.
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.