Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]preg_match wiele wartości
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam mam takie pytanie bardziej tylko z ciekawości.

Jak to jest żę

  1. <?php
  2.  
  3. $url = "http://www.youtube.com/watch?v=LMZroFpNQ4o";
  4.  
  5. $page = file_get_contents($url);
  6.  
  7. preg_match_all("/\/watch\?v=(.*?)[&\"]/i", $page, $matches);
  8. $id_array = $matches[1];
  9. print_r($id_array);
  10.  


wyświetla wiele wartości, chodzi mi o to jak to jest zrobione, dlatego ze idąc tym tropem to chyba pod jenym kodem można zapisać wiele parametrów...
Tak mi się wydaje, tylko nie rozumiem właśnie skąd to się bierze, ale to dlatego że nie rozumiem samego preg_match
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nekomata
post
Post #2





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Preg match to wyrażenia regularne , a (.*?) pochłania o ile mi wiadomo największą możliwą ilość znaków (albo najmniejszą , nie pamiętam :?) jeśli chodzi Ci o parametry GET to ja bym użył czegoś takiego :
  1. <?php
  2. $url = "http://www.youtube.com/watch?v=LMZroFpNQ4o";
  3. $page = file_get_contents($url);
  4. preg_match_all('#href="\/watch\?([^"]+)"#', $page, $matches);
  5. $half_parsed = array();
  6. $parsed = array();
  7. foreach($matches[1] as $value){
  8. $half_parsed[]=htmlspecialchars_decode($value);
  9. }
  10. foreach($half_parsed as $key => $value){
  11. $exploded = explode("&",$value);
  12. foreach($exploded as $k=>$v){
  13. $x = explode('=',$v);
  14. $parsed[$key][$x[0]]=$x[1];
  15. }
  16. }
  17. echo '<pre>';
  18. print_r($parsed);
  19. echo '</pre>';
  20. ?>
A i myślę że lepiej by było używać cUrl'a .. chyba że u siebie na kompie to robisz .

Ten post edytował nekomata 4.06.2011, 04:09:46
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: 4.10.2025 - 11:26