Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] problem z preg_match
Forum PHP.pl > Forum > Przedszkole
lucas666
Witam. Mam maly problem. Chce pobrac i wyswietlic dane dotyczace aktualnie granego utworu ze strony fabrykamuzy.pl, mam taki skrypt, ale nic nie wyswietla:
  1. <?php
  2. $File = file_get_contents('http://fabrykamuzy.pl/player?streamId=108');
  3. preg_match_all('|<div class="item" title="(.*)">(.*)</div>|ismUu', $File, $out);
  4. echo $out[1][0].'<br>';
  5. echo $out[2][0].'<br>';
  6. ?>


Jesli ktos moze mnie nakierowac, albo najlepiej poprac to bede niezmiernie wdzieczny;)
kapuch
Ale z tego co widze, to ta strona generuje nazwe utworu aktualnie granego javascriptem, takze tego w zrodle strony nie ma, wiec jak chcesz to wyciagnac?
lucas666
Ale tytul jest wyswietlony normalnie. W zrodle strony w divie "item" jest title="blablabla" wiec powinno sie wyciagnoc;/
nospor
  1. $File = file_get_contents('http://fabrykamuzy.pl/player?streamId=108');
  2. echo $File;
  3.  

I jesli teraz w źrodłe tak wygenerowanej strony znajdziej swoje:
class="item" title
to jesteś mistrz tongue.gif
amii
  1. $result = array();
  2. $doc = new DOMDocument();
  3. $url = 'http://fabrykamuzy.pl/player?streamId=108';
  4. $doc->loadHTML($url);
  5. $links = simplexml_import_dom($doc)->xpath("//div[@class='item']"); //znajdź elementy div o klasie item
  6.  
  7. $ilosc = count($links);
  8.  
  9. for ($k=0; $k<$ilosc; $k++) {
  10. $href = (string) $links[$k]; // pobieramy caly element
  11. if ($href != null) $result[] = $href; // i dodajemy do tablicy jesli istnieje
  12. }
  13. return $result;


?
lucas666
Dzieki wielkie Amii, tylko ja pewnie cos zle robie bo nie wyswietla mi nic, albo wyswietla Array;/ ale moze juz sobie z tym jakos poradze...
zelu
A nie latwiej sprawdzic ich AJAXa i sprobowac sie pod niego podpiac? smile.gif Z tego co widze masz ladny XMLowy plik, ktory obrabiasz wedlug wlasnego uznania smile.gif

lucas666
Gdzie mam ten XML?questionmark.gif Jesli chodzi o AJAXa to nic nie umiem w tym temacie, chyba ze cos poczytam i sprobuje worriedsmiley.gif
zelu
Oni to robią AJAXem. Ty nie musisz.

http://fabrykamuzy.pl/content/xml/streams/....xml?1280849250 gdzie 1280849250 to czas w formacie UNIXowym. Masz ładnego, prostego w obróbce XMLa i nie są Ci potrzebne żadne wyrażenia regularne.

Pozdro
lucas666
No jestes genialny;) wlasnie o to mi chodzilo, tylko nie wiedzialem ze cos takiego istnieje;) super
offtopic.gif
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.