Autor Zpráva
Hezyk
Profil *
Dobrý den, jak se dá zjistit délku videa z url youtube a uložit do proměný (3:24)?
nightfish
Profil
Pravděpodobně by to mohlo jít regulárním výrazem.
if (preg_match('~"length_seconds": (\d+)~', $htmlZdrojStrankyZYoutube, $vystup)) {
  echo "délka videa je: $vystup[1] sekund";
}
Hezyk
Profil *
Nějak mi to nejde ani toto
$stranka = '...'; // stranka videa stahnuta z YouTube
if (preg_match('~<title>(YouTube - )?(.*?)</title>~is', $stranka, $re))
{
	$nazev = $re[2];
}
else
{
	$nazev = '...'; // pro pripad selhani
}
Hezyk
Profil *
Nevíte proč to nefunguje?
<?php
$url = "http://www.youtube.com/watch?v=O4hk0ghaj_E";
function getVideo($url) { 
        echo $url; 
        // get video ID from $_GET  
        if (!isset($url)) { 
          return 'Please enter a YouTube video URL.'; 
        } else { 
            $vid = stripslashes($url); 
            $string = $vid; 
            $url = parse_url($string); 
            parse_str($url['query']); 
        } 
        // set video data feed URL 
        $feedURL = 'http://gdata.youtube.com/feeds/api/videos/'. $v; 

         
        //Since allow_url_fopens is off  use curl to get 
        //the xml document from youtube. ;) 
        //Added by DNI Web Design, June 11, 2010 
        $ch = curl_init();    // initialize curl handle 
        curl_setopt($ch, CURLOPT_URL,$feedURL); // set url to post to 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
        curl_setopt($ch, CURLOPT_TIMEOUT, 4); // times out after 4s 
         
        $result = curl_exec($ch); // run the whole process*/ 

        // read feed into SimpleXML object 
        $entry = simplexml_load_string($result); 
         
        // parse video entry 
        $video = $this->parseVideoEntry($entry); 
         
        //These variables include the video information 
            $videos["title"] = stripslashes($video->title); 
            $videos["description"] = stripslashes($video->description); 
            $videos["thumbnail"] = stripslashes($video->thumbnailURL); 
            $videos["author"] = stripslashes($video->author); 
            $videos["embed"] = '<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/'.$v.'&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.$v.'&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>';  
            $videos["key"] = $v; 
            return $videos; 
    }  ?>
PostCC
Profil
Hezyk:
Nejspíš to bude rozbitý. Když totiž vyřadím tu funkci parseVideoEntry(), jejíž obsah neznám, tak se mi vrací přesně to, co z předchozího scriptu očekávám, tedy výstup API z http://gdata.youtube.com/feeds/api/videos/.

Pokud to nefunguje, určitě to vrací nějaké chybové hlášení nebo se to alespoň chová nějak, zatímco očekáváte něco jiného. Zkuste se podělit o víc informací.
Hezyk
Profil *
PostCC:
Zkuste se podělit o víc informací.


Právě že mi to nic nevypíše.
PostCC
Profil
Hezyk:
Já teda naivně předpokládám, že někde později tu definovanou funkci taky voláte! V tom, co jste tu předvedl ji pouze definujete, takže je nutné, aby posléze následovalo ještě volání, např.:

Print_R(getVideo($url));

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0