Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]ciecie linku aby uzyskac id filmu
Forum PHP.pl > Forum > Przedszkole
Raven1122
Witam. Mam taki skrypt aby wycinal tylko id z calego linku.

  1. $url = $_POST['url'];
  2. $movieid = substr($url, strrpos($url, '=') + 1, strlen($url));


No i ten skrypt dziala.
Ale zaczyna sie problem gdy ukazuje się taki link:
http://www.youtube.com/watch?v=FYYXGpOcCFs...feature=feedwll
Taki juz dziala:
http://www.youtube.com/watch?v=FYYXGpOcCFs
wiec mam pytanie:
ja wyciac ten fragment z id?
&feature=feedwll
Raven1122
a jest cos po polsku? sad.gif
lobopol
Ja bym to pregmatchem wyciągnął coś w ten deseń
  1. preg_match('/youtube\.com\/(v\/|watch\?.*v=)([\w\-]+)/i', $sVideo, $aMatch)

w $aMatch[2] powinien być sam hash
Raven1122
no dobra ogarnalem ale
Array ( [scheme] => http [host] => www.youtube.com [path] => /watch [query] => v=6vqEc_Mr5tg&feature=related )
ciagle w id jest to feature=related
kefirek
  1. $url1 = 'http://www.youtube.com/watch?v=FYYXGpOcCFs';
  2. $url2 = 'http://www.youtube.com/watch?v=FYYXGpOcCFs&feature=feedwll';
  3.  
  4. echo parse_url($url1, PHP_URL_QUERY).'</br>';
  5. echo parse_url($url2, PHP_URL_QUERY).'</br>';
Raven1122
no tak ale ten link ma byc wprowadzany przez formularz, czyli link ma byc przekazany przez post do 2 pliku
lobopol
Zadziwiające jest to, że dostałeś kilka rozwiązań, a nie sprawdziłeś wszystkich. Zerknij na tego pregmatcha on działa i wyciąga tylko id filmu w $sVideo link do filmu oczywiście
Raven1122
No tak ale tam nie ma opcji wczytania linku z post. Nazwa pola to url
lobopol
A co za problem dostawić? Wytłumacz mi przecież to podstawy.
Raven1122
  1. preg_match('$_POST['url'], $sVideo, $aMatch)

tak to ma byc?
lobopol
Ech rok na forum i takie braki.
1. Musisz sprawdzić czy $_POST['url'] jest ustawione inaczej będziesz dostawał noticy jeżeli nie będzie
2. to w miejsce $sVideo ma być link przecież teraz skasowałeś całą regułę pregmatcha
3. Jeżeli link jest linkiem youtube to id będzie zapisane w $aMatch[2] i sam pregmatch zwróci true
  1. if(preg_match('/youtube\.com\/(v\/|watch\?.*v=)([\w\-]+)/i', $sVideo, $aMatch)){
  2. echo $aMatch[2];
  3. }

4. po tych informacjach powinieneś wszystko zrobić całość jest już banalna szczególnie, że jesteś na forum już rok
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.