yy神曲url解析php_单文件PHP版视频解析源码(中间件)
說明:
1 首先這個中間件是我自己寫的,它是一個單獨的PHP文件。
2 初次運行后會生成一個JSON的文件作為保存內(nèi)容所用
3 它的原理是比如你在該文件后面添加上播放路徑,它會利用識別碼,也就是你路徑里的如域名或者最后的后綴進行匹配,然后進行直接播放,如果有幾個相同的滿足條件的解析,會直接在下面以按鈕方式切換。
第一次會初始化操作,生成config.json文件
這個文件我頂部已經(jīng)帶了注釋了自己看,你們自己保存下面的源碼為PHP文件即可。
注意:默認登錄的賬號密碼都是admin,進去后分別在解析管理和識別管理內(nèi)選擇導(dǎo)入列表操作
代碼在最底部,自行保存為PHP文件測試。
/*
PHP全自動視頻解析
軟件說明:
1 首先需要添加識別,比如一個視頻播放連接,必然有域名存在,識別就是對播放連接進行搜索匹配,如果連接內(nèi)的網(wǎng)站地址某段字符串和識別相同,就能獲得這個播放連接是那個網(wǎng)站的.
2 當(dāng)獲取的比如某個網(wǎng)站的識別后,我們把這個識別去匹配播放解析組,獲取到的任何支持該網(wǎng)站視頻的解析放在播放頁的下面,方便用戶切換.
3 好處是下面的解析地址根據(jù)播放網(wǎng)站發(fā)生變化,不支持的肯定不會顯示出來.
4 本文件名字沒有任何限制,你可以變更為index.php
軟件流程:
播放地址為:http://v.youku.com/v_show/id_XMjk1NTMwMjk4MA==.html
解析地址為:http://域名/player.php?url=http://v.youku.com/v_show/id_XMjk1NTMwMjk4MA==.html
開始識別:識別關(guān)鍵字為youku,查到播放連接里有youku,匹配為優(yōu)酷的播放連接.
解析匹配:搜索解析標簽里是否有youku這個字樣的支持解析.
開始播放:匹配完畢,自動把匹配后的所有支持該網(wǎng)站的解析路徑放在播放頁面底部供用戶切換使用.
使用說明:
1、本程序為單文件程序
2、賬號、密碼(md5加密)、解析源、識別源都存放在 $json_name ='config.json'; 內(nèi),你可以自己重命名這個文件的名字。
3、config.json 文件為自動生成文件。
4、第一次使用初始賬號和密碼都為:admin
路徑頁面說明:
1 解析管理:player.php (不加任何參數(shù)可進入管理)
2 解析播放:player.php?url=視頻地址
3 自由播放:player.php?url= 后面不加視頻地址
管理頁面
1 player.php?type=1 解析添加,修改,刪除管理
2 player.php?type=2 識別添加,修改,刪除管理
3 player.php?type=3 修改賬號密碼管理
備注:本地視頻格式識別后綴修改請在本源碼第--65列---修改(說明:沒有顯示的本地后綴你也可以手動添加到列表內(nèi),照樣可以識別不影響使用)
*/
error_reporting(0);
session_start();
//函數(shù)
//判斷JSON內(nèi)容并輸出
function go_json($json_name,$i=1){
$json_api = file_get_contents($json_name); //讀取索引
$json_api=trim($json_api,chr(239).chr(187).chr(191)); //處理JSON
$jsondata = json_decode($json_api, true); //轉(zhuǎn)換JSON為數(shù)組
if($i==1){
return $jsondata; //默認輸出數(shù)組格式
}else{
return $json_api; //輸出JSON格式
}
}
//取文件后綴名
function getExt($url)
{
$path=parse_url($url);
$str=explode('.',$path['path']);
return $str[1];
}
//函數(shù)結(jié)束
//訪問終端判斷
$agent = $_SERVER['HTTP_USER_AGENT'];
if(strpos($agent,"comFront") || strpos($agent,"iPhone") || strpos($agent,"MIDP-2.0") || strpos($agent,"Opera Mini") || strpos($agent,"UCWEB") || strpos($agent,"Android") || strpos($agent,"Windows CE") || strpos($agent,"SymbianOS")){
$terminal="wap"; //手機端
}else{
$terminal="pc";//電腦端
}
$localplay = 'm3u8|mp4|flv|avi|asf|rmvb|rm|asf|divx|mpg|mpeg|mpe|wmv|mkv|vob|swf|mp3 '; //添加修改本地視頻格式識別后綴請在這里添加
$localarr = explode('|',$localplay);
$i=1001;
foreach($localarr as $value){ //本地播放器配置
$localTags=$localTags. ''.$value.'??';
++$i;
}
//讀取JSON文件
$json_name ='config.json';
$jsondata = go_json($json_name);
if(is_array($jsondata)){
$userall = $jsondata['user'];
$parse = $jsondata['parse'];
$discern = $jsondata['discern'];
}else{
$userall = array("id"=>"1","username"=>"admin","password"=>md5("admin"));
$parse =array();
$discern =array();
$jsonarr = array(
'time' => date('y-m-d h:i:s',time()),
'user' => $userall,
'parse' => $parse,
'discern' => $discern
);
file_put_contents($json_name,json_encode($jsonarr));
}
//----------------------------------------------
$play_url = $_GET['url']; //播放解析接口
if(empty($play_url)== FALSE){
//播放器的前期設(shè)置
$level=0;
$play_url = strtolower($play_url); //避免連接大寫轉(zhuǎn)換成小寫字母
$play_suffix = getExt($play_url); //獲取后綴
$play_type=''; //播放器識別字符
$play_Name=''; //播放器識別名稱
$play_Arry=array(); //播放器數(shù)組
$_SESSION['ok']=0;
}
//解析結(jié)束進行跳轉(zhuǎn)
//----------------------------------------------
//管理登錄開始
if($_GET['out']==1){$_SESSION['ok']=0;}
$time =date('y-m-d h:i:s',time());
$username = $_POST['username'];
$password = $_POST['password'];
$alter = $_POST['alter'];
if($alter ==1 && $_SESSION['ok']==1){
$userTT = array("id"=>"1","username"=>$_POST['username'],"password"=>md5($_POST['password']));
$jsonarr = array(
'time' => date('y-m-d h:i:s',time()),
'user' => $userTT,
'parse' => $parse,
'discern' => $discern
);
file_put_contents($json_name,json_encode($jsonarr));
echo "";
session_destroy();
}
//if(isset($username) && empty($_POST['alter'])!== FALSE){
if(isset($username) && empty($_POST['alter'])!== FALSE){
if($username !== $userall['username'])echo "";
elseif(md5($password)!==$userall['password'])echo "";
elseif($username == $userall['username'] && md5($password)==$userall['password']){$_SESSION['ok'] = 1;$_SESSION['username']=$userall['username'];$_SESSION['password']=$userall['password']; header('location:?');}
}
if(!isset($_SESSION['ok']) && !isset($play_url)== true){
exit('
管理登錄服務(wù)器時間:'.$time.'
管理賬號
管理密碼
管理登錄 ???? 轉(zhuǎn)到播放地址頁
');
}
if($_SESSION['ok'] == 1){
//管理登錄結(jié)束
//開始后臺管理
$all =$_GET['all'];
$save = $_GET['save']; //操作 0=讀取 1=添加,2=修改,3=刪除 (Add, delete, modify)
//判斷項目
$type =$_GET['type']; //分類 1=添加刪除解析連接地址 或 2 =添加刪除識別字段
//數(shù)據(jù)項目
$sbid = $_GET['sbid']; //識別ID,修改和刪除使用的
$sbname = $_GET['sbname']; //識別名稱
$sburl = $_GET['sburl']; //識別字段
$sbkey = $_GET['sbkey']; //識別字段
$jxid = $_GET['jxid']; //解析ID,修改和刪除使用的
$jxname = $_GET['jxname']; //解析名稱
$jxurl = $_GET['jxurl']; //解析字段
$jxtags = $_GET['tags']; //解析標簽
$md5 = $_GET['md5'];
$level = $_GET['level'];
$yd = $_GET['yd'];
$copy = $_GET['copy'];
if(empty($level))$level=0;
if(empty($type))$type=1;
if(empty($save))$save=1;
if(empty($yd))$yd=0;
if($save==1){$an ='添加';$fg='btn-danger';}elseif($save==2 ){$an ='修改';$fg='btn-primary';}elseif($save==3){$an ='刪除'; $fg='btn-danger'; }
//處理和保存數(shù)組
//添加刪除數(shù)據(jù)
if($level==1){
if($type==1){
if($save==1){$md5 = md5($jxurl);}
$saveall='';
for ($i=0;$i
$ID=$parse[$i]['ID'];
$Name=$parse[$i]['Name'];
$Url=$parse[$i]['Url'];
$Tags=$parse[$i]['Tags'];
$MD5 =$parse[$i]['md5'];
if($md5 == $MD5){
$saveall = $saveall.'#'.$MD5.'#';
if($save==1){$parsearr[$i]=array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Tags'=>$Tags,'md5'=>$MD5);}
if($save==2){if($yd==1){$jxname=$Name; $jxurl=$Url;$jxtags=$Tags; $parsearr[$i]=array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Tags'=>$Tags,'md5'=>$MD5);}else{$parsearr[$i]=array('ID'=>$i+1,'Name'=>$jxname,'Url'=>$jxurl,'Tags'=>$jxtags,'md5'=>md5($jxurl));$title='解析數(shù)據(jù)修改成功!';}}
if($save==3){continue;$title='解析數(shù)據(jù)刪除成功!';}
}else{
$parsearr[$i]=array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Tags'=>$Tags,'md5'=>$MD5);
}
}
if($save==1){
if(strripos($saveall,$md5)!== FALSE){$title='已經(jīng)有相同解析地址數(shù)據(jù)!';}else{$parsearr[count($parsearr)] = array('ID'=>count($parsearr)+1,'Name'=>$jxname,'Url'=>$jxurl,'Tags'=>$jxtags,'md5'=>md5($jxurl));$title='解析數(shù)據(jù)添加成功!';}
}
$parse = $parsearr;
}elseif($type==2){
if($save==1){$md5 = md5($sbKey);}
$saveall='';
for ($i=0;$i
$ID=$discern[$i]['ID'];
$Name=$discern[$i]['Name'];
$Url=$discern[$i]['Url'];
$Key=$discern[$i]['Key'];
$MD5 =$discern[$i]['md5'];
if($md5 == $MD5){
$saveall = $saveall.'#'.$MD5.'#';
if($save==1){$discernarr[$i] = array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Key'=>$Key,'md5'=>$MD5);}
if($save==2){
if($yd==1){$sbname=$Name; $sburl=$Url;$sbkey=$Key;$discernarr[$i] = array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Key'=>$Key,'md5'=>$MD5);}else{$discernarr[$i] = array('ID'=>$i+1,'Name'=>$sbname,'Url'=>$sburl,'Key'=>$sbkey,'md5'=>md5($sbKey));$title='識別數(shù)據(jù)修改成功!';}}
if($save==3){continue;$title='識別數(shù)據(jù)刪除成功!';}
}else{
$discernarr[$i] = array('ID'=>$i+1,'Name'=>$Name,'Url'=>$Url,'Key'=>$Key,'md5'=>$MD5);
}
}
if($save==1){
if(strripos($saveall,$md5)!== FALSE){$title='已經(jīng)有相同識別地址數(shù)據(jù)!';}else{$discernarr[count($discernarr)] = array('ID'=>count($discernarr)+1,'Name'=>$sbname,'Url'=>$sburl,'Key'=>$sbkey,'md5'=>md5($sbkey));$title='識別數(shù)據(jù)添加成功!';}
}
$discern = $discernarr;
}
//添加刪除數(shù)據(jù)結(jié)束
//批量識別放入
if($all==2){
if($type==1){
$data = file_get_contents('Parse.json');
if($data==''){
$data='強強解析%%http://000o.cc/jx/ty.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#品優(yōu)解析%%http://api.pucms.com/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#速度牛解析%%http://api.wlzhan.com/sudu/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#那片解析%%http://api.nepian.com/ckparse/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#OFFLV解析%%http://aikan-tv.com/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#花園解析%%http://j.zz22x.com/jx/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#石頭解析%%http://jiexi.071811.cc/jx2.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#旋風(fēng)解析%%http://api.xfsub.com/index.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu,mp4,m3u8,#全民解析%%http://vip.jlsprh.com/index.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#桃閣解析%%http://api.taoge.la/jiexi/index.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#百域閣解析%%http://api.baiyug.cn/vip/index.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#云解析%%http://jiexi.92fz.cn/player/vip.php?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#vparse解析%%https://api.flvsp.com/?url=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu#Sup解析%%http://player.jidiaose.com/supapi/iframe.php?v=%%,acfun,sohu,ku6,iqiyi,youku,sina,tudou,letv,leyun,bilibili,wasu,56,cntv,fun,mgtv,pptv,ppyun,qq,tangdou,vlook,waqu,aipai,yinyuetai,youmi,m1905,miaopai,meipai,6cn,163,baofeng,baomihua,huya,huyazb,ifeng,longzhu,yy,yyzb,kuaishou,zhibo,douyu,weibo,xiaokaxiu,tucao,mtime';
}
$dataarr=explode('#',$data);
$parse =array();
for ($i=0;$i
$all = explode('%%',$dataarr[$i]);
$parse[$i] =array(
'ID'=>$i+1,
'Name'=>$all[0],
'Url'=>$all[1],
'Tags'=>$all[2],
'md5'=>md5($all[1])
);}}
if($type==2){
$data = file_get_contents('Discern.json');
if($data==''){
$data='AC彈幕網(wǎng)%%acfun%%acfun#搜狐%%sohu%%sohu#酷6%%ku6%%ku6#愛奇藝%%iqiyi%%iqiyi#優(yōu)酷%%youku%%youku#新浪%%sina%%sina#土豆%%tudou%%tudou#樂視%%letv%%le.com#樂視云%%leyun%%lecloud#嗶哩嗶哩%%bilibili%%bilibili#華數(shù)%%wasu%%wasu#我樂%%56%%56.com#CNTV%%cntv%%cntv#風(fēng)行%%fun%%fun#芒果TV%%mgtv%%mgtv#PPTV%%pptv%%pptv.com#PPTV云%%ppyun%%pptvyun#QQ視頻%%qq%%qq#糖豆%%tangdou%%tangdou#微錄客%%vlook%%vlook#哇趣%%waqu%%waqu#愛拍%%aipai%%aipai#音樂臺%%yinyuetai%%yinyuetai#優(yōu)米%%youmi%%youmi#m1905%%m1905%%1905#秒拍%%miaopai%%miaopai#美拍%%meipai%%meipai#六間房%%6cn%%6.cn#網(wǎng)易公開課%%163%%163.com#暴風(fēng)影音%%baofeng%%baofeng#爆米花%%baomihua%%baomihua#虎牙視頻%%huya%%v.huya.com#虎牙直播%%huyazb%%www.huya.com#鳳凰視頻%%ifeng%%ifeng#龍珠視頻%%longzhu%%longzhu#YY神曲%%yy%%shenqu.yy.com#YY直播%%yyzb%%www.yy.com#快手視頻%%kuaishou%%kuaishou#直播解析%%zhibo%%zhibo.tv#斗魚直播%%douyu%%douyu#微博%%weibo%%weibo#小咖秀%%xiaokaxiu%%xiaokaxiu#吐槽彈幕%%tucao%%tucao#時光網(wǎng)%%mtime%%mtime';
}
$dataarr=explode('#',$data);
$discern =array();
for ($i=0;$i
$all = explode('%%',$dataarr[$i]);
$discern[$i] =array(
'ID'=>$i+1,
'Name'=>$all[0],
'Url'=>$all[1],
'Key'=>$all[2],
'md5'=>md5($all[2])
);}}
}
//批量識別放入結(jié)束
$userall = array_merge($userall);
$parse = array_merge($parse);
$discern = array_merge($discern);
//if($save==0){$save==2;}
//if($level==1){$level=0;}
//裝載數(shù)組
$jsonarr = array(
'time' => date('y-m-d h:i:s',time()),
'user' => $userall,
'parse' => $parse,
'discern' => $discern
);
//$json = toJson($jsonarr);
$json = json_encode($jsonarr);
if($save > 0){
file_put_contents($json_name,$json);
}
}
}
//讀取數(shù)據(jù)輸出到變量
//致處女座,不要把這兩個讀取的位置私自搞反,主要是方便URL先驗證識別出播放的是那個網(wǎng)站的在到下面找解析地址給裝進入
for ($i=0;$i
$ID=$discern[$i]['ID'];
$Name=$discern[$i]['Name'];
$Url=$discern[$i]['Url'];
$Key=$discern[$i]['Key'];
$MD5 =$discern[$i]['md5'];
if(empty($play_url)== FALSE){
if(strpos($play_url, $Key) !== FALSE){$play_type=$Url; $play_Name =$Name; break;}//識別判斷
}else{
$lv = $i % 4;
if($lv==1)$class ='class="info"';
if($lv==2)$class ='class="success"';
if($lv==3)$class ='class="error"';
if($lv==0)$class ='class="warning"';
$discernHtml =$discernHtml.'
'.$ID.''.$Name.''.$Url.''.$Key.'修改 | 刪除 ';$parseTags = $parseTags. ''.$Name.'??';$TagsAll =$TagsAll.','.$Url;
$DiscernALL = $DiscernALL.$Name.'%%'.$Url.'%%'.$Key.'#'; //discern保存變量
}
}
if(empty($play_url)== FALSE){
if(empty($play_type)){
if($play_suffix=='html' || $play_suffix=='htm'){
$play_type=''; $play_Name ='原始播放';
}else{$play_type=$play_suffix; $play_Name = $play_suffix;}
}
}
$s=0;
for ($i=0;$i
$ID=$parse[$i]['ID'];
$Name=$parse[$i]['Name'];
$Url=$parse[$i]['Url'];
$Tags=$parse[$i]['Tags'];
$MD5 =$parse[$i]['md5'];
if(empty($play_url)== FALSE){
if(strpos($Tags, $play_type) !== FALSE){++$s; $play_Arry[$s] = array('playname'=>$Name,'playurl'=>$Url); }
}else{
$lv = $i % 4;
if($lv==1)$class ='class="info"';
if($lv==2)$class ='class="success"';
if($lv==3)$class ='class="error"';
if($lv==0)$class ='class="warning"';
$parseHtml =$parseHtml.'
'.$ID.''.$Name.''.$Url.'鼠標懸浮查看修改 |form.jxname.focus();
return false;
}
if(form.jxurl.value==''){
alert("請輸入解析路徑!");
form.jxurl.focus();
return false;
}
if(form.show.value==''){
alert("請勾選解析范圍!");
form.show.focus();
return false;
}
return true;
}
function checksb(form) {
if(form.sbname.value=='') {
alert("請輸入識別名稱!");
form.sbname.focus();
return false;
}
if(form.sburl.value==''){
alert("請輸入識別字符!");
form.sburl.focus();
return false;
}
if(form.sbkey.value==''){
alert("請輸入搜索關(guān)鍵字!");
form.sbkey.focus();
return false;
}
return true;
}
body {background-color: #000;}
.content{width:100%; height:100%; border:1px solid #000; margin:0 auto;}
.nav{width:100%; height:30px; margin:0 auto; background:#000; position:fixed; bottom:0; text-align:center;}
/* buttons*/
ul.demo-btns{margin: 0;padding: 0;list-style: none;}
ul.demo-btns > li{display: inline-block;margin-bottom: 10px;}
.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:12px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:0}
.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}
.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}
.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}
.btn-default{color:#fff;background-color:#b5b4b4;border-color:#b5b4b4}
.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#fff;background-color:#a19e9e;border-color:#a19e9e}
.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}
.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#b5b4b4;border-color:#b5b4b4}
.btn-default .badge{color:#fff;background-color:#333}
.btn-primary{color:#fff;background-color:#4ea8f5;border-color:#4ea8f5}
.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#2c8ee3;border-color:#2c8ee3}
.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}
.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#4ea8f5;border-color:#4ea8f5}
.btn-primary .badge{color:#337ab7;background-color:#fff}
.btn-success{color:#fff;background-color:#15f574;border-color:#15f574}
.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#08b451;border-color:#08b451}
.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}
.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#15f574;border-color:#15f574}
.btn-success .badge{color:#5cb85c;background-color:#fff}
.btn-info{color:#fff;background-color:#72d9f7;border-color:#72d9f7}
.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#3fb5d8;border-color:#3fb5d8}
.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}
.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#72d9f7;border-color:#72d9f7}
.btn-info .badge{color:#5bc0de;background-color:#fff}
.btn-warning{color:#fff;background-color:#f9bd06;border-color:#f9bd06}
.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#d2a10d;border-color:#d2a10d}
.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}
.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f9bd06;border-color:#f9bd06}
.btn-warning .badge{color:#f0ad4e;background-color:#fff}
.btn-danger{color:#fff;background-color:#f53b36;border-color:#f53b36}
.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#d21d18;border-color:#d21d18}
.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}
.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#f53b36;border-color:#f53b36}
.btn-default-alt{color: #b5b4b4;background-color: rgba(255, 255, 255, 0);border-color: #b5b4b4;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-default-alt:hover,
.btn-default-alt:focus,
.btn-default-alt:active,
.btn-default-alt.active{border-color: #b5b4b4;background-color: #b5b4b4;color: #fff;}
.btn-default-alt.disabled,
.btn-default-alt[disabled],
fieldset[disabled] .btn-default-alt,
.btn-default-alt.disabled:hover,
.btn-default-alt[disabled]:hover,
fieldset[disabled] .btn-default-alt:hover,
.btn-default-alt.disabled:focus,
.btn-default-alt[disabled]:focus,
fieldset[disabled] .btn-default-alt:focus{box-shadow: none !important;border-color: #eaeaea;color: #eaeaea;}
.btn-default-alt.disabled:active,
.btn-default-alt[disabled]:active,
fieldset[disabled] .btn-default-alt:active,
.btn-default-alt.disabled.active,
.btn-default-alt[disabled].active,
fieldset[disabled] .btn-default-alt.active{border-color: #e8ecec;background-color: #bdcaca;color: #fff;}
.btn-default-alt.dropdown-toggle{border-width: 1px;}
.btn-default-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn-default-alt:hover,
.btn-default-alt:active,
.btn-default-alt.active,
.btn-default-alt:focus{color: #fff;}
.btn-primary-alt{color: #4ea8f5;background-color: rgba(255, 255, 255, 0);border-color: #4ea8f5;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-primary-alt:hover,
.btn-primary-alt:focus,
.btn-primary-alt:active,
.btn-primary-alt.active{border-color: #4ea8f5;background-color: #4ea8f5;color: #fff;}
.btn-primary-alt.disabled,
.btn-primary-alt[disabled],
fieldset[disabled] .btn-primary-alt,
.btn-primary-alt.disabled:hover,
.btn-primary-alt[disabled]:hover,
fieldset[disabled] .btn-primary-alt:hover,
.btn-primary-alt.disabled:focus,
.btn-primary-alt[disabled]:focus,
fieldset[disabled] .btn-primary-alt:focus{box-shadow: none !important;border-color: #4ea8f5;color: #4ea8f5;}
.btn-primary-alt.disabled:active,
.btn-primary-alt[disabled]:active,
fieldset[disabled] .btn-primary-alt:active,
.btn-primary-alt.disabled.active,
.btn-primary-alt[disabled].active,
fieldset[disabled] .btn-primary-alt.active{border-color: #4ea8f5;background-color: #4ea8f5;color: #fff;}
.btn-primary-alt.dropdown-toggle{border-width: 1px;}
.btn-primary-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn-warning-alt{color: #f9bd06;background-color: rgba(255, 255, 255, 0);border-color: #f9bd06;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-warning-alt:hover,
.btn-warning-alt:focus,
.btn-warning-alt:active,
.btn-warning-alt.active{border-color: #f9bd06;background-color: #f9bd06;color: #fff;}
.btn-warning-alt.disabled,
.btn-warning-alt[disabled],
fieldset[disabled] .btn-warning-alt,
.btn-warning-alt.disabled:hover,
.btn-warning-alt[disabled]:hover,
fieldset[disabled] .btn-warning-alt:hover,
.btn-warning-alt.disabled:focus,
.btn-warning-alt[disabled]:focus,
fieldset[disabled] .btn-warning-alt:focus{box-shadow: none !important;border-color: #f9bd06;color: #f9bd06;}
.btn-warning-alt.disabled:active,
.btn-warning-alt[disabled]:active,
fieldset[disabled] .btn-warning-alt:active,
.btn-warning-alt.disabled.active,
.btn-warning-alt[disabled].active,
fieldset[disabled] .btn-warning-alt.active{border-color: #f9bd06;background-color: #f9bd06;color: #fff;}
.btn-warning-alt.dropdown-toggle{border-width: 1px;}
.btn-warning-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn-danger-alt{color: #f53b36;background-color: rgba(255, 255, 255, 0);border-color: #f53b36;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-danger-alt:hover,
.btn-danger-alt:focus,
.btn-danger-alt:active,
.btn-danger-alt.active{border-color: #f53b36;background-color: #f53b36;color: #fff;}
.btn-danger-alt.disabled,
.btn-danger-alt[disabled],
fieldset[disabled] .btn-danger-alt,
.btn-danger-alt.disabled:hover,
.btn-danger-alt[disabled]:hover,
fieldset[disabled] .btn-danger-alt:hover,
.btn-danger-alt.disabled:focus,
.btn-danger-alt[disabled]:focus,
fieldset[disabled] .btn-danger-alt:focus{box-shadow: none !important;border-color: #f53b36;color: #f53b36;}
.btn-danger-alt.disabled:active,
.btn-danger-alt[disabled]:active,
fieldset[disabled] .btn-danger-alt:active,
.btn-danger-alt.disabled.active,
.btn-danger-alt[disabled].active,
fieldset[disabled] .btn-danger-alt.active{border-color: #f53b36;background-color: #f53b36;color: #fff;}
.btn-danger-alt.dropdown-toggle{border-width: 1px;}
.btn-danger-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn-success-alt{color: #15f574;background-color: rgba(255, 255, 255, 0);border-color: #15f574;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-success-alt:hover,
.btn-success-alt:focus,
.btn-success-alt:active,
.btn-success-alt.active{border-color: #15f574;background-color: #15f574;color: #fff;}
.btn-success-alt.disabled,
.btn-success-alt[disabled],
fieldset[disabled] .btn-success-alt,
.btn-success-alt.disabled:hover,
.btn-success-alt[disabled]:hover,
fieldset[disabled] .btn-success-alt:hover,
.btn-success-alt.disabled:focus,
.btn-success-alt[disabled]:focus,
fieldset[disabled] .btn-success-alt:focus{box-shadow: none !important;border-color: #15f574;color: #15f574;}
.btn-success-alt.disabled:active,
.btn-success-alt[disabled]:active,
fieldset[disabled] .btn-success-alt:active,
.btn-success-alt.disabled.active,
.btn-success-alt[disabled].active,
fieldset[disabled] .btn-success-alt.active{border-color: #15f574;background-color: #15f574;color: #fff;}
.btn-success-alt.dropdown-toggle{border-width: 1px;}
.btn-success-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn-info-alt{color: #72d9f7;background-color: rgba(255, 255, 255, 0);border-color: #72d9f7;border-width: 1px;border-style: solid;-webkit-box-shadow: none;box-shadow: none;}
.btn-info-alt:hover,
.btn-info-alt:focus,
.btn-info-alt:active,
.btn-info-alt.active{border-color: #72d9f7;background-color: #72d9f7;color: #fff;}
.btn-info-alt.disabled,
.btn-info-alt[disabled],
fieldset[disabled] .btn-info-alt,
.btn-info-alt.disabled:hover,
.btn-info-alt[disabled]:hover,
fieldset[disabled] .btn-info-alt:hover,
.btn-info-alt.disabled:focus,
.btn-info-alt[disabled]:focus,
fieldset[disabled] .btn-info-alt:focus{box-shadow: none !important;border-color: #72d9f7;color: #72d9f7;}
.btn-info-alt.disabled:active,
.btn-info-alt[disabled]:active,
fieldset[disabled] .btn-info-alt:active,
.btn-info-alt.disabled.active,
.btn-info-alt[disabled].active,
fieldset[disabled] .btn-info-alt.active{border-color: #72d9f7;background-color: #72d9f7;color: #fff;}
.btn-info-alt.dropdown-toggle{border-width: 1px;}
.btn-info-alt.dropdown-toggle.alt-border{border-width: 1px 1px 1px 1px;}
.btn[class*="alt"]{padding: 6px 15px;}
.btn[class*="alt"].btn-label i{background-color: #000000 !important;background-color: rgba(0, 0, 0, 0.02) !important;zoom: 1 !important;background-color: transparent\9 !important;-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#05000000, endColorstr=#05000000)" !important;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#05000000, endColorstr=#05000000) !important;}
.btn-lg[class*="alt"]{padding: 9px 29px;font-size: 17px;line-height: 1.33;border-radius: 3px;padding: 10px 29px;}
.btn-sm[class*="alt"]{padding: 4px 12px;font-size: 13px;line-height: 1.44;border-radius: 3px;}
.btn-xs[class*="alt"]{padding: 3px 11px;font-size: 12px;line-height: 1.44;border-radius: 3px;padding: 3px 5px;line-height: 1em;}
.btn-radius{border-radius: 500px;}
×
注意!
Warning! 參數(shù)錯誤!沒有找到播放地址!請粘貼播放地址(如:優(yōu)酷,土豆,愛奇藝等視頻播放頁面)
播放地址
開始播放
$play_url = str_replace('[type]',$play_type,$play_url);
$play_class = array("btn btn-default-alt","btn-primary-alt","btn-success-alt","btn-info-alt","btn-warning-alt","btn-danger-alt");
$play_target ='
原始視頻??';$play_web[1] = $play_url;
for ($i=0;$i
$v=$i+1;
$vname = $play_Arry[$i]['playname'];
$vurl = $play_Arry[$i]['playurl'].$play_url;
$play_web[$i+1] =$vurl;
if($vname==''){$vname='解析線路';}
$play_target = $play_target.'
'.$vname.'??';}
?>
width="100%" frameborder=0 height="100%" src="<?php echo $play_web[array_rand($play_web,1)]?>" id="web" οnlοad="this.height=web.document.body.scrollHeight+20" >
如不能正常播放請更換播放線路播放解析列表 注意檢測是否失效
編號解析名稱解析路徑解析范圍相關(guān)操作
解析名稱
解析路徑(解析里帶分類變量請輸入[type],如 解析路徑.php?type=[type]&url=播放連接 )
解析范圍(勾選范圍請在識別管理內(nèi)添加)導(dǎo)入列表| 保存列表
【解析連接支持】<?php echo $parseTags;?>(*.*)全部選擇??
【本地識別支持】 <?php echo $localTags;?>
<?php echo $an ;?>解析 <?php if($save !==1){echo '????返回添加解析';} ?>
播放識別列表 播放路徑中是否包含搜索關(guān)鍵字才能正常識別,解析根據(jù)識別字符篩選出支持的線路
編號識別名稱識別字符搜索關(guān)鍵字相關(guān)操作
識別名稱
識別字符
搜索關(guān)鍵字(一般為解析連接的域名中間部份,此外播放文件的如mp4,m3u8會直接給出文件后綴作為搜索識別碼,請不要在這里添加)導(dǎo)入列表| 保存列表
<?php echo $an ;?>識別 <?php if($save !==1){echo '????返回添加識別';} ?>
修改管理賬號 經(jīng)常修改管理賬號有助提高安全
管理賬號
管理密碼
修改
if (window.parent.length>0){window.parent.document.all.mainframe.style.height=document.body.scrollHeight;}
總結(jié)
以上是生活随笔為你收集整理的yy神曲url解析php_单文件PHP版视频解析源码(中间件)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单工厂模式在Logback源码以及JD
- 下一篇: 激光雷达进入「规模化」上车周期?最大变数