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 程序员应该使用的10个组件
Oct 31 PHP
PHP学习之整理字符串
Apr 17 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
深入php多态的实现详解
Jun 09 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
php的sso单点登录实现方法
Jan 08 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
简述php环境搭建与配置
Dec 05 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
PHP如何解决微信文章图片防盗链
Dec 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
ThinkPHP的MVC开发机制实例解析
2014/08/23 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
python解析json实例方法
2013/11/19 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
办公室年终个人自我评价
2013/10/28 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
欢迎新生标语2015
2015/07/16 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
Redis可视化客户端小结
2021/06/10 Redis
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python