将包含php代码的文件作为字符串插入变量中

时间:2014-04-15 15:58:17

标签: php file tags include

我有这个:

  ob_start();                     ?>
          <div class="" id="loading">
               <?php echo file_get_contents($page["texto"]) ?> 
          </div>      <?php

  $content = ob_get_clean();

但是我希望将该模板html放在一个单独的文件中,就像:

$content = file_get_contents('cms/template.php');

现在这不会起作用,因为它内部有php标签,当检索到它所获得的字符串时

如何在不使用脏黑客的情况下实现这一目标:

$pre = file_get_contents('part1');
$var = file_get_contents($page["texto"]);
$post = file_get_contents('part2');

并添加所有这些......

1 个答案:

答案 0 :(得分:3)

它仍然是黑客,但除非你使用像Twig这样的模板系统,否则别无选择:

ob_start();
include 'cms/template.php';
$content = ob_get_clean();

echo $content;

ob_start启用输出缓冲,因此不会将任何内容发送到浏览器。然后我们包含将正常执行PHP的文件。然后我们使用ob_get_clean来获取输出缓冲区的内容(这是您的模板文件)。并禁用输出缓冲区,丢弃它的内容,因为我们有$content中的内容。