PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法


Posted in PHP onAugust 04, 2017

本文实例讲述了PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法。分享给大家供大家参考,具体如下:

很多用户不知道如何复制flash地址,只能在程序中帮他们替换了:

<?php
/**
 * 支持优酷、土豆、腾讯视频html到swf转换
 */
function convert_html_to_swf($url = '')
{
  if(!is_string($url) || empty($url)) return ;
  if(strpos($url, 'swf')) return $url;
  preg_match_all('/http:\/\/(.*?)?\.(.*?)?\.com\/(.*)/', $url, $types);
  $type = $types[2][0];
  $domain = $types[1][0];
  switch ($type) {
    case 'youku' :
      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';
      break;
    case 'tudou' :
      $method = substr($types[3][0], 0, 1);
      $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]);
        $id = $id[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;
    case 'qq' :
      $url_array = parse_url($url);
      $swf = "http://static.video.qq.com/TPout.swf?{$url_array['query']}&auto=0";
      break;
    default :
      $swf = $url;
      break;
  }
  return $swf;
}
/**
 * 优酷视频转换测试
 * html地址 http://v.youku.com/v_show/id_XNzU4Mzg2NDA4.html?f=22720170&ev=2&from=y1.1-2.10001-0.1-2
 * swf地址 http://player.youku.com/player.php/sid/XNzU4Mzg2NDA4/v.swf
 */
echo convert_html_to_swf("http://v.youku.com/v_show/id_XNzU4Mzg2NDA4.html?f=22720170&ev=2&from=y1.1-2.10001-0.1-2");
echo "<hr>";
/**
 * 腾讯视频转换测试
 *
 * html地址 http://v.qq.com/cover/w/w5lb270k15j7ita.html?vid=v0015mnd5x6
 * swf地址 http://static.video.qq.com/TPout.swf?vid=v0015mnd5x6&auto=0
 */
echo convert_html_to_swf("http://v.qq.com/cover/w/w5lb270k15j7ita.html?vid=v0015mnd5x6");
echo "<hr>";
/**
 * 土豆视频转换测试
 *
 * html地址 http://www.tudou.com/albumplay/hqtp6W5XLN8/Kscjyz4J-RE.html
 * swf地址 http://www.tudou.com/a/hqtp6W5XLN8/&iid=132223533&resourceId=0_04_0_99/v.swf
 */
echo convert_html_to_swf("http://www.tudou.com/albumplay/hqtp6W5XLN8/Kscjyz4J-RE.html");
echo "<hr>";
PHP 相关文章推荐
PHP与SQL注入攻击[二]
Apr 17 PHP
PHP基础学习小结
Apr 17 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
php中通过Ajax如何实现异步文件上传的代码实例
May 07 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
Feb 27 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
PHP7.0版本备注
Jul 23 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
eclipse php wamp配置教程
Jun 30 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
Aug 04 #PHP
php7安装yar扩展的方法详解
Aug 03 #PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
Aug 03 #PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 #PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 #PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
Aug 03 #PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 #PHP
You might like
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python操作csv文件实例详解
2017/07/31 Python
python中lambda()的用法
2017/11/16 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
深入了解python中元类的相关知识
2019/08/29 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
python实现翻译word表格小程序
2020/02/27 Python
python实现程序重启和系统重启方式
2020/04/16 Python
Django url 路由匹配过程详解
2021/01/22 Python
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
大学四年职业生涯规划书范文
2014/01/02 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
公司晚会策划方案
2014/05/17 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
2015年公司工作总结
2015/04/25 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
python中的sys模块和os模块
2022/03/20 Python
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python