PHP实现使用优酷土豆视频地址获取swf播放器分享地址


Posted in PHP onJune 05, 2014

项目用到临时写的。待完善:

/*
     * 根据用户提交的(swf/html)地址,获取优酷,土豆的swf播放地址
     * */
    private function _getSwf ($url = '') {
        if(isset($url) && !empty($url)){
            preg_match_all('/http:\/\/(.*?)?\.(.*?)?\.com\/(.*)/',$url,$types);
        }else{
            return false;
        }
        $type = $types[2][0];
        $domain = $types[1][0];
        $isswf = strpos($types[3][0], 'v.swf') === false ? false : true;
        $method = substr($types[3][0],0,1);
        switch ($type){
            case 'youku' :
                if( $domain == 'player' ) {
                    $swf = $url;
                }else if( $domain == 'v' ) {
                    preg_match_all('/http:\/\/v\.youku\.com\/v_show\/id_(.*)?\.html/',$url,$url_array);
                    $swf = 'http://player.youku.com/player.php/sid/'.str_replace('/','',$url_array[1][0]).'/v.swf';
                }else{
                    $swf = $url;
                }
                break;
            case 'tudou' :
                if($isswf){
                    $swf = $url;
                }else{
                    $method = $method == 'p' ? 'v' : $method ;
                    preg_match_all('/http:\/\/www.tudou\.com\/(.*)?\/(.*)?/',$url,$url_array);
                    $str_arr = explode('/',$url_array[1][0]);
                    $count = count($str_arr);
                    if($count == 1) {
                        $id = explode('.',$url_array[2][0])[0];
                    }else if($count == 2){
                        $id = $str_arr[1];
                    }else if($count == 3){
                        $id = $str_arr[2];
                    }
                    $swf = 'http://www.tudou.com/'.$method.'/'.$id.'/v.swf';
                }
                break;
            default :
                $swf = $url;
                break;
        }
        return $swf;
    }
   
PHP 相关文章推荐
967 个函式
Oct 09 PHP
PHP 和 MySQL 基础教程(一)
Oct 09 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
PHP If Else(elsefi) 语句
Apr 07 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
PHP设计模式之工厂模式实例总结
Sep 01 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 PHP
如何通过PHP实现Des加密算法代码实例
May 09 PHP
一组PHP加密解密函数分享
Jun 05 #PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
Jun 05 #PHP
php 购物车完整实现代码
Jun 05 #PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 #PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 #PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 #PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 #PHP
You might like
PHP中的reflection反射机制测试例子
2014/08/05 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python通过http下载文件的方法详解
2019/07/26 Python
pycharm修改文件的默认打开方式的步骤
2019/07/29 Python
利用Python脚本实现自动刷网课
2020/02/03 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
Opencv求取连通区域重心实例
2020/06/04 Python
python实现学生成绩测评系统
2020/06/22 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
求职信怎么写范文
2014/05/26 职场文书
企业宣传标语
2014/06/09 职场文书
反对邪教标语
2014/06/30 职场文书
护理专业自我评价
2015/03/11 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
使用Nginx的访问日志统计PV与UV
2022/05/06 Servers