php 模版解析实例_PHP教程

WBOY
发布: 2016-07-14 10:07:06
原创
826 人浏览过


下面是一个php 模版解析的例子。

通过正则表达式将
{youku id_XMTc5ODgwOTA4} 转对对应的播放代码。

 


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.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;

}

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477897.htmlTechArticle下面是一个php 模版解析的例子。 通过正则表达式将 {youku id_XMTc5ODgwOTA4} 转对对应的播放代码。 ?php header(Content-type:text/html; charset=utf-8); $te...
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板