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应用技巧
Mar 27 PHP
php仿discuz分页效果代码
Oct 02 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
浅析php面向对象public private protected 访问修饰符
Jun 30 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP面向对象程序设计继承用法简单示例
Dec 28 PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 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 FTP类的详解
2013/06/13 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
Bootstarp 基础教程之表单部分实例代码
2017/02/03 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python之用户输入的实例
2018/06/22 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
精选干货:Java精选笔试题附答案
2014/01/18 面试题
国贸专业的职业规划范文
2014/01/23 职场文书
教研活动总结
2014/04/28 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
合同审查法律意见书
2015/06/04 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
Python移位密码、仿射变换解密实例代码
2021/06/27 Python