$tpl = '
<p><?php echo $a ?></p>
';
$a = '我是变量a';
//怎么把$tpl变量解析成
<p>我是变量a</p>
我自己Google到答案了 eval(' ?>'.$tpl.'<?php '); http://stackoverflow.com/questions/1309800/php-eval-that-evaluates-html-php
ringa_lee2017-04-10 14:58:27
直接保存为文件比如 filename.tpl
, 然后引入就可以了,简单的模板实现:
function view($filename, Array $data) {
extract($data);
include $filename.'.tpl';
}
PHPz2017-04-10 14:58:27
不考虑安全问题的话,可以把 $tpl 的内容写入一个临时文件,再 require 进来
<?php
$tpl = '<p><?php echo $a ?></p>';
$a = '我是变量a';
file_put_contents('tmp.php', $tpl);
ob_start();
require 'tmp.php';
$parsed_content = ob_get_clean();
unlink('tmp.php');
?>