下面是一个php 模版解析的例子。
通过正则表达式将
{youku id_xmtc5odgwota4} 转对对应的播放代码。
/\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.2cto.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'] =
.$data['title']..; 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;
}
http://www.bkjia.com/phpjc/477897.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/477897.htmltecharticle下面是一个php 模版解析的例子。 通过正则表达式将 {youku id_xmtc5odgwota4} 转对对应的播放代码。 ?php header(content-type:text/html; charset=utf-8); $te...
