Home  >  Article  >  Backend Development  >  PHP template parsing example_PHP tutorial

PHP template parsing example_PHP tutorial

WBOY
WBOYOriginal
2016-07-14 10:07:06768browse


Below is an example of PHP template parsing.

Convert
via regular expression {youku id_XMTc5ODgwOTA4} transfer the corresponding playback code.


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*{youkus*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("#videoId2s*=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']."

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

}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477897.htmlTechArticleThe following is an example of php template parsing. Convert {youku id_XMTc5ODgwOTA4} to the corresponding playback code through regular expressions. ?php header(Content-type:text/html; charset=utf-8); $te...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn