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 isset()与empty()的使用区别详解
Aug 29 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
PHP微信支付实例解析
Jul 22 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
利用PHP实现一个简单的用户登记表示例
Apr 25 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
Sep 29 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文件缓存类汇总
2014/11/21 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
PHP线程的内存回收问题
2016/07/08 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[48:54]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第二场 6.3
2018/06/04 DOTA
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
python数据结构之图的实现方法
2015/07/08 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
html5 Web SQL Database 之事务处理函数transaction与executeSQL解析
2013/11/07 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
民族团结先进个人材料
2014/02/05 职场文书
《月迹》教学反思
2014/02/19 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js