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 相关文章推荐
PHP5中MVC结构学习
Oct 09 PHP
php实现mysql数据库备份类
Mar 20 PHP
php array的学习笔记
May 10 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
php的zip解压缩类pclzip使用示例
Mar 14 PHP
php使用百度天气接口示例
Apr 22 PHP
php解析json数据实例
Aug 19 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
PHP验证码生成原理和实现
Jan 24 PHP
PHP反射基础知识回顾
Sep 10 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 批量更新网页内容实现代码
2010/01/05 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
2012/08/22 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
python中的装饰器详解
2015/04/13 Python
Python中为什么要用self探讨
2015/04/14 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
Python聊天室程序(基础版)
2018/04/01 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
2020/09/21 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
大学校园活动策划书
2014/02/04 职场文书
会计系毕业生求职信
2014/05/28 职场文书
英文感谢信格式
2015/01/21 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
各种货币符号快捷输入
2022/02/17 杂记
Python实现为PDF去除水印的示例代码
2022/04/03 Python
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技