我正在使用PHP与Smarty模板相结合来生成服务器端页面。目前我正在加载一个页面,如下所示:
$smarty->assign('app', file_get_contents("some_content.php"));其中一些内容包含带有PHP标记的HTML以及这些标记内的代码。
我希望此文件中的PHP内容在当前作用域(读取该文件的脚本的作用域)内,以便我定义的特定函数可用。我该怎么做呢?我能找到的所有信息都是关于eval(...)函数,它似乎不能处理HTML/PHP的混合:我是否需要执行find/eval/replace操作来获得所需的结果,或者是否有更好的方法来实现这一点?
发布于 2012-04-24 15:10:26
从我的观点来看,您发布的这段简短的代码片段表明这里普遍存在问题:)
但是,您可以通过执行以下操作来实现您想要实现的目标:
ob_start();
include("some_content.php");
$result = ob_get_clean();
$smarty->assign('app', $result);发布于 2012-04-24 15:07:23
我真是个笨蛋。在PHP手册上有一个关于eval的答案,就在我眼皮底下。Here is the answer I neglected to notice。
发布于 2012-04-24 15:13:48
您可以使用{文字}...{/literal} smarty标签按原样显示smarty模板中的任何内容。它用于传输java脚本和其他特定内容。
https://stackoverflow.com/questions/10293138
复制相似问题