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代码 用PHP写出自己的BLOG系统
Apr 12 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
php自定义apk安装包实例
Oct 20 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 PHP
PHP实现页面静态化深入讲解
Mar 04 PHP
PHP新手指南
Apr 01 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定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
php blowfish加密解密算法
2016/07/02 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
js 操作css实现代码
2009/06/11 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python3之微信文章爬虫实例讲解
2017/07/12 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
详解pandas赋值失败问题解决
2020/11/29 Python
python链表类中获取元素实例方法
2021/02/23 Python
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
为什么要用EJB
2014/04/17 面试题
运动会致辞稿50字
2014/02/04 职场文书
大学学习计划书范文
2014/05/02 职场文书
应届生自荐信
2014/06/30 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
职位证明模板
2015/06/23 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript