PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了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>";

PS:这里再为大家提供两款相关在线工具供大家参考使用:

迅雷、快车、旋风URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder

flash版在线下载地址加密解密工具(支持迅雷/快车/旋风):
http://tools.jb51.net/password/flash_download_encode

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP访问数据库集群的方法小结

本文总结分析了PHP访问数据库集群的方法。分享给大家供大家参考,具体如下: 一般常见的有三种做法: 1、自动判断sql是否为读,来选择数据库的连接: 实例化php DB类的时候,需要一次...

深入array multisort排序原理的详解

复制代码 代码如下:<?php$data[] = array('volume' => 67, 'edition' => 2);$data[] = array('volu...

php 进阶:实现无限分类第1/4页

1.分析  我们在用 php 制作网站时,分类是很重要的,在分类下面又再分类这第二个分类称为次分类,而现在大多数网站分类只分到第三类:  第一分类...

Ajax+PHP实现的删除数据功能示例

Ajax+PHP实现的删除数据功能示例

本文实例讲述了Ajax+PHP实现的删除数据功能。分享给大家供大家参考,具体如下: 一 代码 conn.php: <?php $conn = mysql_conne...

php随机显示指定文件夹下图片的方法

本文实例讲述了php随机显示指定文件夹下图片的方法。分享给大家供大家参考。具体如下: 此代码会从指定的服务器文件夹随机选择一个图片进行显示,非常有用,图片格式为.gif,.jpg,.pn...