0

我将 PHP 与 Smarty 模板结合使用以在服务器端生成页面。目前,我正在加载一个页面,如下所示:

$smarty->assign('app', file_get_contents("some_content.php"));

某些内容包含带有 PHP 标记的 HTML 和这些标记内的代码。

我希望该文件中的 PHP 内容在当前范围内(读取文件的脚本的内容),以便我定义的特定函数可用。我该怎么做呢?我能找到的所有信息都是关于 eval(...) 函数的,它似乎无法处理 HTML/PHP 混合:我是否需要执行 find/eval/replace 操作来实现所需的结果,还是有更优雅的方式来做到这一点?

4

3 回答 3

1

Ich,我真是个笨蛋。eval 的 PHP 手册上有一个答案,就在我的眼皮底下。这是我忽略的答案

于 2012-04-24T07:07:22.623 回答
1

在我看来,您发布的这段代码的简短片段表明那里通常有问题:)

但是,您可以通过执行以下操作来实现您想要实现的任何目标:

ob_start();
include("some_content.php");
$result = ob_get_clean();
$smarty->assign('app', $result);
于 2012-04-24T07:10:26.490 回答
0

您可以使用 {literal}...{/literal} smarty 标签按原样显示 smarty 模板中的任何内容。它用于传输 java 脚本和其他特定内容。

于 2012-04-24T07:13:47.673 回答