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 相关文章推荐
图书管理程序(一)
Oct 09 PHP
main.php
Dec 09 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
解析在zend Farmework下如何创立一个FORM表单
Jun 28 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
理解PHP中的stdClass类
Apr 18 PHP
php文件操作相关类实例
Jun 18 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
[原创]smarty简单模板变量输出方法
Jul 09 PHP
laravel model 两表联查示例
Oct 24 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支持页面回退的两种方法[转]
2007/02/14 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
简单的分页代码js实现
2016/05/17 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python信息抽取之乱码解决办法
2017/06/29 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
如何在vscode中安装python库的方法步骤
2021/01/06 Python
CSS图片翻转动画技术详解(IE也实现了)
2014/04/03 HTML / CSS
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
Java实现简单小画板
2022/06/10 Java/Android
OpenFeign实现远程调用
2022/08/14 Java/Android