"compile")); foreach ($cfgYouku as $val){ if(isset($val">
时间:2021-07-01 10:21:17 帮助过:6人阅读
"/\s*\{youku\s*id_(.*)}\s*/i","callback"=>"compile")); foreach ($cfgYouku as $val){ if(isset($val["callback"])) { $template = preg_replace_callback($val["rege"], $val["callback"], $template); } } /** * * forjobs * @param unknown_type $matched */ function compile($matched) { $url = $matched[0]; preg_match("/id\_(\w+)/", $url, $matches); if (empty($matches)){ preg_match("#v_playlist\/#", $url, $mat); if(!$mat) return false; $html = self::_fget($url); preg_match("#videoId2\s*=\s*\'(\w+)\'#", $html, $matches); if(!$matches) return false; } $link = "http://v.youku.com/player/getPlayList/VideoIDS/{$matches[1]}/timezone/+08/version/5/source/out?password=&ran=2513&n=3"; $retval = fileGetContent( $link ); if ($retval) { $json = json_decode($retval, true); $data['img'] = $json['data'][0]['logo']; $data['title'] = $json['data'][0]['title']; $data['url'] = $url; $data['swf'] = "http://player.youku.com/player.php/sid/{$matches[1]}/v.swf"; if( $data ) $data['object'] = "".$data['title']."
".""; return $data['object']; } else { return false; } } /** * * @author murain * @param String $url */ function fileGetContent($url) { $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $contents = trim(curl_exec($ch)); curl_close($ch); return $contents; }