Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match_all - jak to działa?
Forum PHP.pl > Forum > Przedszkole
No_Name
Chciałem, żeby ze strony http://pl.youtube.com/browse?s=mr&c=0&l=&b=0 pobierało mi tytuły fimlów. Utwożyłem taki skrypt:
  1. <?php
  2. $adres="http://pl.youtube.com/browse?s=mr&c=0&l=&b=0";
  3. $strona = file_get_contents($adres);
  4. preg_match_all('#class=\"vimg120\" title="(.*?)" alt=\"film wideo\"></a>#',$strona,$tytul,PREG_SET_ORDER);        
  5. echo "$tytul[0] <br>$tytul[1]<br>$tytul[2]";
  6. ?>

ale wyświetla mi się coś takiego:
Kod
Array
Array
Array

Jak to naprawić?
skowron-line
  1. <?php
  2. echo'<pre>';
  3. print_r( preg_match_all('#class=\"vimg120\" title="(.*?)" alt=\"film wideo\"></a>#',$strona,$tytul,PREG_SET_ORDER) );
  4. echo'</pre>';
  5. ?>
No_Name
Wyświetla mi się "20" mellow.gif mellow.gif
skowron-line
  1. <?php
  2. $adres="http://pl.youtube.com/browse?s=mr&c=0&l=&b=0";
  3. $strona = file_get_contents($adres);
  4. preg_match_all('#class=\"vimg120\" title="(.*?)" alt=\"film wideo\"></a>#',$strona,$tytul,PREG_SET_ORDER);
  5. print_r( $tytul );
  6.  
  7. foreach( $tytul as $T ){
  8.    echo $T[ 0 ] .' '. $T[ 1 ] .'<br />';
  9. }
  10.  
  11.  
  12. ?>
No_Name
teraz wyświetla mi sie coś takiego:
Kod
Array ( [0] => Array ( [0] => class="vimg120" title="Mrugacze.avi" alt="film wideo"> [1] => Mrugacze.avi ) [1] => Array ( [0] => class="vimg120" title="Akcja Kosin 2008" alt="film wideo"> [1] => Akcja Kosin 2008 ) [2] => Array ( [0] => class="vimg120" title="Pocahontas by Kasia (13 yrs)" alt="film wideo"> [1] => Pocahontas by Kasia (13 yrs) ) [3] => Array ( [0] => class="vimg120" title="RAPALJE - Wat zullen we drinken GUITAR" alt="film wideo"> [1] => RAPALJE - Wat zullen we drinken GUITAR ) [4] => Array ( [0] => class="vimg120" title="- The Rock vs Kane in a no holds barred match wideo przesĹ‚ane przez Twist-Of-Fate the rock vs kane tori" alt="film wideo"> [1] => - The Rock vs Kane in a no holds barred match wideo przesĹ‚ane przez Twist-Of-Fate the rock vs kane tori ) [5] => Array ( [0] => class="vimg120" title="Sciernisko - Golec uOrkiestra" alt="film wideo"> [1] => Sciernisko - Golec uOrkiestra ) [6] => Array ( [0] => class="vimg120" title="Idealne parkowanie.mpg" alt="film wideo"> [1] => Idealne parkowanie.mpg ) [7] => Array ( [0] => class="vimg120" title="bmw tds 525:)" alt="film wideo"> [1] => bmw tds 525:) ) [8] => Array ( [0] => class="vimg120" title="stowa" alt="film wideo"> [1] => stowa ) [9] => Array ( [0] => class="vimg120" title="Pogadamy?" alt="film wideo"> [1] => Pogadamy? ) [10] => Array ( [0] => class="vimg120" title="moja astra gsi" alt="film wideo"> [1] => moja astra gsi ) [11] => Array ( [0] => class="vimg120" title="Raz Dwa Trzy - Nie będziemy .wmv" alt="film wideo"> [1] => Raz Dwa Trzy - Nie będziemy .wmv ) [12] => Array ( [0] => class="vimg120" title="Mirosław Czyżykiewicz - Jednym Szpetem" alt="film wideo"> [1] => Mirosław Czyżykiewicz - Jednym Szpetem ) [13] => Array ( [0] => class="vimg120" title="Wet Fingers - Put Ur Hands Up (Radio Edit)" alt="film wideo"> [1] => Wet Fingers - Put Ur Hands Up (Radio Edit) ) [14] => Array ( [0] => class="vimg120" title="Zbyszek pogromca seria 1 odc.3" alt="film wideo"> [1] => Zbyszek pogromca seria 1 odc.3 ) [15] => Array ( [0] => class="vimg120" title="HYDRO" alt="film wideo"> [1] => HYDRO ) [16] => Array ( [0] => class="vimg120" title="K800i tuning cd" alt="film wideo"> [1] => K800i tuning cd ) [17] => Array ( [0] => class="vimg120" title="Piosenka o Warszawie" alt="film wideo"> [1] => Piosenka o Warszawie ) [18] => Array ( [0] => class="vimg120" title="Ulcinij 2008" alt="film wideo"> [1] => Ulcinij 2008 ) [19] => Array ( [0] => class="vimg120" title="US5-Around The World" alt="film wideo"> [1] => US5-Around The World ) )

A ja bym chciał, zeby każdy tytuł był kolejną wartością tablicy.
skowron-line
No ale tak też jest z tym że jest to tablica 2 wymiarowa
  1. <?php
  2. echo $tytul[0][1];
  3. echo'<br />';
  4. echo $tytul[1][1];
  5. echo'<br />';
  6. echo $tytul[2][1];
  7. ?>
No_Name
A co zrobić, żeby kodowało z polskimi znakami?
erix
Na stronie, z której pobierasz dane, jest inne kodowanie niż na Twojej.

Użyj iconv" title="Zobacz w manualu PHP" target="_manual, żeby przekonwertować zestaw znaków.
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.