首页 >后端开发 >php教程 >php怎么执行变量里的PHP模板代码?

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

WBOY
WBOY原创
2016-06-06 20:43:411018浏览

<code class="lang-php">$tpl = '

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

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

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

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


</code>

我自己Google到答案了 eval(' ?>'.$tpl.'

回复内容:

<code class="lang-php">$tpl = '

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

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

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

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


</code>

我自己Google到答案了 eval(' ?>'.$tpl.'

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

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

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

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

file_put_contents('tmp.php', $tpl);
ob_start();
require 'tmp.php';
$parsed_content = ob_get_clean();
unlink('tmp.php');
?>
</code>

包含,然后PHP 去解析

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn