Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciąganie ciągu znaków z URL
Forum PHP.pl > Forum > Przedszkole
nowyyy31
Witam

mam małe pytanie jak mogę wyciągnąć tylko ID filmów

http://www.youtube.com/watch?v=a-NZIGes3j0
z YouTube żeby wyciągnąć ten ciąg znaków a-NZIGes3j0


http://antyklerycow.wrzuta.pl/film/04s6a6B...senu_z_3_pietra
z Wrzuta żeby wciągnąć tylko ten ciąg znaków 04s6a6Bh95F

jak to zrobić...?
thek
Trzeba zaznajomić się z wyrażeniami regularnymi i preg_match
Choć w drugim wypadku wystarczy explode.
nowyyy31
gdzie tutaj jest błąd? że nie wyświetla ID filmu
  1. $adres = 'http://www.youtube.com/watch?v=a-NZIGes3j0';
  2. preg_match('/watch?v=([a-zA-Z0-9_]+)/i', $adres , $ciag);
  3. $idfilmu=$ciag[1];
  4. echo $idfilmu;

nowyyy31
jak zmieniłem
na
$idfilmu=$ciag[0];

i tak mi nie wyświetla... ;/
erix
Ale kombinujecie... dry.gif

parse_url + parse_str
erix
Cytat
no dobrze, dobrze.. jest początkujący - każdy się uczy, a kombinując szybciej się nauczy

Tak, złych nawyków, które będzie potem ciężko wyplenić...

Albo robisz dobrze od początku, albo wcale.
Robert1985
A dlaczego pierwszego nie zrobić tak:
  1. $ciąg = 'http://www.youtube.com/watch?v=a-NZIGes3j0';
  2. $równa_się = strrpos($ciąg,'=');
  3. $id = substr($ciąg,$równa_się+1);
  4. echo $id;


Bo w sumie to nie wiemy czy chodzi tylko o ten adres czy o ogólną zasadę wyciągania części z bardziej skomplikowanych ciągów.
i pytanie odemnie dla bardziej obeznanych czy funkcja pereg_match() z której korzystacie przy wyrażeniach to to samo co ereg i eregi() questionmark.gif
nowyyy31
na YouTube już działa...
  1. <?
  2. // YouTube!!
  3. echo 'YouTube';
  4. echo '<br><br>';
  5. $url = 'http://www.youtube.com/watch?v=a-NZIGes3j0';
  6.  
  7.  
  8. preg_match('/v=([a-zA-Z0-9_-]+)/i', $url , $ciag);
  9. $idfilmu=$ciag[1];
  10. echo $idfilmu;
  11. echo '<br><br><br><br>';
  12.  
  13.  
  14. echo parse_url($url, PHP_URL_PATH);
  15. echo '<br><br><br><br>';
  16.  
  17. parse_str($url, $output);
  18. echo $output['url'][1];
  19. echo '<br><br><br><br>';
  20. $ciąg = 'http://www.youtube.com/watch?v=a-NZIGes3j0';
  21. $równa_się = strrpos($ciąg,'=');
  22. $id = substr($ciąg,$równa_się+1);
  23. echo $id;
  24. ?>


na Wrzuta jeszcze coś nie gra...
  1. <?
  2. // Wrzuta!!
  3. echo '<br><br>';
  4. echo 'Wrzuta';
  5. echo '<br><br>';
  6. $adres = 'http://antyklerycow.wrzuta.pl/film/04s6a6Bh95F/skok_do_basenu_z_3_pietra';
  7. preg_match('|film\/([^/][a-zA-Z0-9_-]+)|i', $adres , $ciag);
  8. $idfilmu=$ciag[1];
  9. ?>
erix
Na wrzucie w ostatnich dniach wprowadzili jakieś blokady; wiele skryptów pośredniczących zostało zablokowanych.
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.