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开发文件系统实例讲解
Oct 09 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
May 10 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
PHP CURL获取返回值的方法
May 04 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP实现WebService的简单示例和实现步骤
Mar 27 PHP
浅谈PHP中output_buffering
Jul 13 PHP
PHP安全下载文件的方法
Apr 07 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
PHP封装的分页类与简单用法示例
Feb 25 PHP
通过代码实例解析PHP session工作原理
Dec 11 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 error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
php浏览历史记录的方法
2015/03/10 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
javascript计时器事件使用详解
2014/01/07 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
python 实现多维数组(array)排序
2020/02/28 Python
什么是python的必选参数
2020/06/21 Python
python 获取计算机的网卡信息
2021/02/18 Python
全球最大的服务市场:Fiverr
2017/01/03 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
民主生活会对照检查材料
2014/09/22 职场文书
合作意向书范本
2019/04/17 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书