示例代码HTML:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action = "./test.php" method = "post"> <input type = "text" placeholder = "输入视频链接 " name = "link"> <input type = "submit" value = "提交"> </form> <img src = "<?php echo $arr;?>" /> </body> </html>
示例代码PHP:
<?php function get_youku($url) { // 这段正则是来获取优酷的id,出处在 /wp-content/languages/zh_CN.php,同样56网、土豆都可以找到 preg_match("#https?://v.youku.com/v_show/id_(?<video_id>[a-z0-9_=-]+)#i", $url, $matches); //正则找到视频中的vid // var_dump($matches); $cnt = count($matches); if ($cnt>0){ $link = "http://play.youku.com/play/get.json?vid={$matches[\'video_id\']}&ct=10"; // $link = "http://play.youku.com/play/get.json?vid=XMTI4ODY0NDk2OA==&ct=10&ran=1951"; //请求接口 正则匹配时,多了== 请求时报错 }else{ return false; } // 这一段是用来解析json数据,如果想跨域用js来取,这个表示压力好大 $ch=@curl_init($link); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $cexecute=@curl_exec($ch); @curl_close($ch); // $json = file_get_contents($link); // $arr = json_decode($json,true); // var_dump($arr); if ($cexecute) { $result = json_decode($cexecute,true); $json = $result[\'data\'][\'video\']; $data[\'img\'] = $json[\'logo\']; // 视频缩略图 $data[\'title\'] = $json[\'title\']; //标题啦 $data[\'url\'] = $url; return $data; } else { return false; } } // var_dump($_POST[\'link\']); $res = get_youku($_POST[\'link\']); $arr = $res[\'img\']; // var_dump($res); ?>