解析PHP页面并将HTML插入变量

时间:2014-10-01 14:17:18

标签: php html file

是否可以在PHP中使用这样的模板文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>sdfds</title>
</head>
<body>
    <div class="some-content">
        <?php some_content(); ?>
    </div>

</body>
</html>

并将其加载到变量中,而不回显它,但仍然会解析some_content()的结果。假设some_content()回显<p>oh yes!</p>,那么这需要成为变量内容的一部分。这很重要的原因是我需要返回内容而不是回应它。

我看过file_get_contents()但是这不会解析php,所以div是空的。我需要像parse_file_and_get_content()这样的东西。

1 个答案:

答案 0 :(得分:1)

是的,可以使用输出缓冲系统。

ob_start();
include("your_external_php_file.php");
$parsed_html = ob_get_clean();

include()将执行文件中的任何<?php ... ?>代码块,OB系统将捕获缓冲区处于活动状态时该文件执行的任何输出。然后你获取缓冲区的内容,现在$parsed_html拥有所有的html,以及你的php函数调用输出的任何东西。