首页 > php怎么执行变量里的PHP模板代码?

php怎么执行变量里的PHP模板代码?

$tpl = '

<div><?php echo $a ?></div>

';
$a = '我是变量a';

//怎么把$tpl变量解析成 

<div>我是变量a</div>


我自己Google到答案了 eval(' ?>'.$tpl.'<?php '); http://stackoverflow.com/questions/1309800/php-eval-that-evaluates-html-php


包含,然后PHP 去解析


直接保存为文件比如 filename.tpl, 然后引入就可以了,简单的模板实现:

function view($filename, Array $data) {
    extract($data);
    include $filename.'.tpl';
}

不考虑安全问题的话,可以把 $tpl 的内容写入一个临时文件,再 require 进来

<?php
$tpl = '<div><?php echo $a ?></div>';
$a = '我是变量a';

file_put_contents('tmp.php', $tpl);
ob_start();
require 'tmp.php';
$parsed_content = ob_get_clean();
unlink('tmp.php');
?>
【热门文章】
【热门文章】