Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie i wyświetlanie informacji z innych stron
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Mam taki oto książkowy kod. Oczywiście działa on bez zarzutu. Wyszukuje i wyświetla informację z innej strony. Bardzo mnie to zaciekawiło. Problem w tym, że chciałbym zrozumieć jak to się dzieje. Co jeśli np. chciałbym, aby pobrało mi informacje z rubryki obok? Domyślam się, że najważniejsze tkwi w napiasnych tu wyrażeniach regularnych. Czytałem o nich trochę, ale nadal nie widzę związku....
Może mi ktoś to wyjaśnić, a także opisać w jaki sposób skrypt pobiera dane akutar z tej konkretniej rubryki?

  1. <?php
  2. //wybór symbolu akcji
  3. $symbol='AMZN';
  4. echo "<h1>Kurs akcji o symbolu $symbol</h1>";
  5.  
  6. //Połączenie z URL-em i odczytanie informacji
  7. $url="http://www.amex.com/equities/listCmp/EqLCDetQuote.jsp?Product_Symbol=$symbol";
  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 = '($[0-9 ]+.[0-9]+)';
  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. //powiadomienie o źródle
  29. echo '<p>'
  30.  .'Ta informacja została uzyskana z <br />'
  31.  ."<a href="$url">$url</a><br />"
  32.  .'w dniu '.(date('l jS F Y g:i a T')).'</p>';
  33.  
  34. ?>


Ten post edytował Max Damage 22.07.2007, 20:45:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-gox-
post
Post #2





Goście







<?php
$url = 'http://s2.metaldamage.onet.pl/game/highscore.php?&a=1&s=s&o=g'
$fp = fopen($url, 'r');
$data='';
while(!feof($fp))$data.=fread($fp, 1024);
fclose($fp);

preg_match_all('#<tr>(.*?)</tr>#is', $data, $wiersze);
$wiersze = $wiersze[1];

foreach ($wiersze as $w) {
preg_match_all('#<td(.*?)/th>#is', $w, $kolumny);
$kolumny = $kolumny[1];
foreach ($kolumny as $k) {
preg_match('#>(.*?)<#', $k, $rekord);
$rekord = $rekord[1];
$rekord = # no i tutaj mamy po kolei kazdy rekordzik... teoretycznie...
}
}
?>

sa wyrazenia regularne i wyrazenia regularne, osobiscie jestem w tym temacie bardzo cienki, wiec jakos moich regexow jest zalozna, czyt. w ogole nie ma jakosci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
apel do koderow, w php6 funkcje ereg() zostaja usuniete z jadra, wiec powinnismy/cie przestawic sie na preg().
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 12:07