发表时间:2014-09-05来源:网络
下面是一个php 模版解析的例子。
通过正则表达式将
{youku id_XMTc5ODgwOTA4} 转对对应的播放代码。
<?php
header('Content-type:text/html; charset=utf-8');
$template = '
{youku id_XMTc5ODgwOTA4}
{youku id_XMzA5NTUwOTky}
{youku id_XMzEwMTQyMjA4}
{youku id_XMjYzNTE0MTA4}
{youku id_XMzEwNDMwODk2}
{youku id_XMjk4NjA3Njk2}
{youku id_XMjQ3ODQwNDYw}
{youku id_XMjk4MjA2NDI0}
{youku id_XMzEwNDIyMTY4}
{youku id_XMzA5ODUzMjI4}
{youku id_XMzEwMzMxNjc2}
{youku id_XMzEwMTk4Njky}
{youku id_XMTA3OTA4MzQw}
{youku id_XMjQ1NzI1ODcy}
{youku id_XMjI4Mzc0OTY0}
';
$cfgYouku = array( array("rege"=>"//s*/{youku/s*id_(.*)}/s*/i","callback"=>"compile"));
foreach ($cfgYouku as $val){
if(isset($val["callback"]))
{
$template = preg_replace_callback($val["rege"], $val["callback"], $template);
}
}
/**
*
* forjobs
* @param unknown_type $matched
*/
function compile($matched)
{
$url = $matched[0]; www.zhishiwu.com
preg_match("/id/_(/w+)/", $url, $matches);
if (empty($matches)){
preg_match("#v_playlist//#", $url, $mat);
if(!$mat) return false;
$html = self::_fget($url);
preg_match("#videoId2/s*=/s*/'(/w+)/'#", $html, $matches);
if(!$matches) return false;
}
$link = "http://v.youku.com/player/getPlayList/VideoIDS/{$matches[1]}/timezone/+08/version/5/source/out?password=&ran=2513&n=3";
$retval = fileGetContent( $link );
if ($retval) {
$json = json_decode($retval, true);
$data['img'] = $json['data'][0]['logo'];
$data['title'] = $json['data'][0]['title'];
$data['url'] = $url;
$data['swf'] = "http://player.youku.com/player.php/sid/{$matches[1]}/v.swf";
if( $data ) $data['object'] = "<h2>".$data['title']."</h2>"."<embed src=/"{$data['swf']}/" quality=/"high/" width=/"480/" height=/"400/" align=/"middle/" allowNetworking=/"all/" allowScriptAccess=/"always/" type=/"application/x-shockwave-flash/"></embed>";
return $data['object'];
} else {
return false;
}
}
/**
*
* @author murain
* @param String $url
*/
function fileGetContent($url)
{
$ch = curl_init();
$timeout = 10;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$contents = trim(curl_exec($ch));
curl_close($ch);
return $contents;
}
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
奏歌最新版本下载v1.1.1 安卓版
109.46MB |生活服务
拼任务软件下载v5.23.0 安卓官方版
62.81MB |系统工具
carscanner中文版下载v2.0.55 安卓版
60.17MB |系统工具
斗泉官方版下载v9.2.22 安卓版
59.43MB |生活服务
dc严选批发官方版下载v2.5.1 安卓平台版
48.37MB |生活服务
公租房软件下载v1.2.0 安卓版
82.6MB |生活服务
斗泉下载v9.2.22 安卓版
59.43MB |生活服务
公安一网通办app官方最新版下载v1.2.36 安卓版
76.25MB |商务办公
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05