Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie treści z innej strony
Forum PHP.pl > Forum > Przedszkole
Sasuke Uchiha
no cóż mam takie coś w przypadku innych stron działa lajtowo a w tym przypadku nie pobiera mi nic może podaje zły link ale innego nie znam a taki on jest w przeglądarce pomoże ktoś questionmark.gif
  1. $adres = curl_init('http://pl.twitch.tv/desrowfighting');
  2. curl_setopt($adres, CURLOPT_RETURNTRANSFER, 1);
  3. $cin = curl_exec($adres);
  4. curl_close($adres);
  5.  
  6.  
  7. preg_match('/<div[^>]+id="popout_message">(.+?)<\/div>/ism', $cin, $cout);
  8.  
  9.  
  10. echo "<p>".strip_tags(trim($cout[1]))."</p>";
nospor
Tak ciezko wyswietlic to co ci ta strona zwraca? Jakbyś wyświetlił to byś zobaczył, że dostajesz takiego diva:
Kod
<div id='popout_message' style='display:none'>
Close popout to restore video.
</div>

Który nijak nie pasuje do twojego wzorca wyszukiwania
Sasuke Uchiha
  1. $adres = curl_init('http://pl.twitch.tv/desrowfighting');
  2. curl_setopt($adres, CURLOPT_RETURNTRANSFER, 1);
  3. $cin = curl_exec($adres);
  4. curl_close($adres);
  5.  
  6.  
  7. preg_match('/<div[^>]+id="popout_message"+style="display:none">(.+?)<\/div>/ism', $cin, $cout);
  8.  
  9.  
  10. echo "<p>".strip_tags(trim($cout[1]))."</p>";


Teraz jest dobrze ?
nospor
Nie, nie jest dobrze. Wiesz co robi +?
A konkretnie chodzi mi o ten kawałek:
"+
Wiesz co to robi?
Sasuke Uchiha
jak mniemam dodaje ? ;]
nospor
...
Toż to podstawy wyrażeń, w pierwszym lepszym darmowym opisie wyrażeń regularnych dostępnych w necie masz wyjaśnione co robi +...... wyrażenia regularne to nie matematyka że + ma coś dodawać...

Już przez analogię do wcześniejszych paru znaków należało zrobić tak:

<div[^>]+id="popout_message"[^>]+style="display:none">
Sasuke Uchiha
  1. $adres = curl_init('http://pl.twitch.tv/desrowfighting');
  2. curl_setopt($adres, CURLOPT_RETURNTRANSFER, 1);
  3. $cin = curl_exec($adres);
  4. curl_close($adres);
  5.  
  6.  
  7. preg_match('/<div[^>]+id="popout_message"[^>]+style="display:none">(.+?)<\/div>/ism', $cin, $cout);
  8.  
  9.  
  10. echo "<p>".strip_tags(trim($cout[1]))."</p>";


dalej nie wyświetla
nospor
Div zawiera apostrofy a nie cudzysłowia

preg_match('/<div[^>]+id=\'popout_message\'[^>]+style=\'display:none\'>(.+?)<\/div>/ism', $cin, $cout);
Sasuke Uchiha
Działa... nie sąziłem że może to być różnica...

oo mam kolejny problem w tym temacie

  1. <span class='stat' id='channel_viewer_ounct'>522</span>
  2. <span class='stat' id='views_count'>72,543,761</span>
  3. <span class='stat' id='followers_count'>32,652</span>


zasadniczo chciałbym pobierać zawartość z tych 3 obszarów ale gdy podaje channel_viewer_count to wyświetla mi zawartość z views_count a gdy podaje views_count to wyświetla mi dobrze czyli views_count. O co tutaj chodzi questionmark.gif

  1. $adres = curl_init('http://pl.twitch.tv/ignproleague.php');
  2. curl_setopt($adres, CURLOPT_RETURNTRANSFER, 1);
  3. $cin = curl_exec($adres);
  4. curl_close($adres);
  5.  
  6.  
  7. preg_match('/<span[^>]+class=\'stat\'[^>]+id=\'channel_viewer_ounct\'>(.+?)<\/span>/ism', $cin, $cout);
  8.  
  9. echo "<p>".strip_tags(trim($cout[1]))."</p>";
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.