【发布时间】:2010-04-22 20:15:06
【问题描述】:
我正在努力尝试读取 php 中的 php 文件并进行一些操作..之后将内容作为字符串,但是当我尝试使用 echo 或 print 输出它时,所有的 php 标签都包含在文件。
这是我的代码:
function compilePage($page,$path){
$contents = array();
$menu = getMenuFor($page);
$file = file_get_contents($path);
array_push($contents,$menu);
array_push($contents,$file);
return implode("\n",$contents);
}
这将返回一个类似的字符串
<div id="content>
<h2>Here is my title</h2>
<p><? echo "my body text"; ?></p>
</div>
但这将完全打印上面的内容,而不是在上面编译php。
那么,我如何渲染这个“compilePage”以确保它返回一个编译的 php 结果,而不仅仅是一个纯文本?
提前致谢
【问题讨论】:
-
php.net/variables.scope 会告诉您在函数之外定义的变量在函数中不可用。要访问这些变量,您需要使用
global语句。您可能需要考虑这个模板解决方案:codeangel.org/articles/simple-php-template-engine.html
标签: php string file compilation printf