Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Pobieranie dannych z innej strony
Forum PHP.pl > Forum > Przedszkole
Mikolaj.on
Potrzebuje zrobić coś takiego żeby pobierało mi dane z tej strony czyli subsribers oraz "nick"

  1. <?php
  2. //wybór symbolu akcji
  3. $symbol='subscribers';
  4. echo "<h1>Kurs akcji o symbolu $symbol</h1>";
  5.  
  6. //Połączenie z URL-em i odczytanie informacji
  7. $url="http://www.youtube.com/subscribe_widget?p=mosadtracz";
  8.  
  9. if(!($zawartosc = file_get_contents($url)))
  10. {
  11. echo 'Otwarcie URL niemożliwe';
  12. }
  13.  
  14. //odnalezienie i wyświetlenie właściwej części strony
  15. $wzor = ("^[a-zA-Z0-9], ^[|-subscribers]");
  16.  
  17. if(eregi($wzor, $zawartosc, $kurs))
  18. {
  19. echo "<p>Ostatni kurs akcji $symbol: ";
  20. echo $kurs[1];
  21. echo '</p>';
  22. }
  23. else
  24. {
  25. echo '<p>Kurs niedostępny</p>';
  26. };
  27.  
  28.  
  29.  
  30. ?>
Fifi209
Zapomniałeś napisać w czym masz problem.
Fifi209
Pobierz stronę, zapisz do pliku - wtedy twórz wyrażenia. (przeglądarki optymalizują i poprawiają kod)
Fifi209
Cytat(Mikolaj.on @ 13.01.2011, 13:07:38 ) *
ale zależy mi na tym by strone ciągle analizowało tak że jak wynik się zmieni to mi na stronie też

Mam na myśli, że nie możesz stworzyć dobrego wyrażenia jeżeli nie wiesz jak dane są zapisane w html'u.
Tylko raz masz sobie zapisać (przez file_get_content & file_put_content) i stworzyć wyrażenia.

Możliwe że file_get_contents w ogóle nie pobiera, bo np. potrzebne są nagłówki wtedy z pomocą przyjdzie curl
Fifi209
Całą stronę masz zapisać... Nie część.
3lanc
  1. <?php
  2. $src = file_get_contents('http://www.youtube.com/subscribe_widget?p=mosadtracz');
  3. preg_match('/<title>Subscribe to (.*?)<\/title>/', $src, $nick);
  4.  
  5. preg_match('/(.*?) subscribers/i', $src, $subscribers);
  6.  
  7. print_r($nick); // $nick[1] => nick
  8. print_r($subscribers); // $subscribers[1] => ilosc subskrybentow
  9. ?>
3lanc
  1. print_r($nick); // $nick[1] => nick
  2. print_r($subscribers); // $subscribers[1] => ilosc subskrybentow


http://php.net/manual/en/function.print-r.php

Jak chcesz sobie wyświetlić normalnie to podmien print_r() na

  1. echo 'Uzytkownik: . $nick[1] .' / Ilość subskrypcji: ' .$subscribers[1];
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.