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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
PHP测试程序运行时间的类
Feb 05 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
php中Redis的应用--消息传递
Mar 28 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
php+iframe 实现上传文件功能示例
Mar 04 PHP
php将xml转化对象的实例详解
Nov 17 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下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
解决element UI 自定义传参的问题
2018/08/22 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
js实现数字滚动特效
2019/12/16 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
Python简单进程锁代码实例
2015/04/27 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
浅谈django的render函数的参数问题
2018/10/16 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
医学生求职自荐信
2013/10/25 职场文书
生产主管岗位职责
2013/11/10 职场文书
酒店端午节促销方案
2014/02/18 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
找工作求职信
2014/07/07 职场文书
委托书怎么写
2014/07/31 职场文书
文明倡议书
2015/01/19 职场文书
个人年终总结结尾
2015/03/06 职场文书
MySQL批量更新不同表中的数据
2022/05/11 MySQL