目錄
".$data['title']."
首頁 後端開發 php教程 php 模版解析实例_PHP教程

php 模版解析实例_PHP教程

Jul 14, 2016 am 10:07 AM
php 下面 例子 實例 模版 正規則 表達式 解析 透過


下面是一个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...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles