是否可以在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()
这样的东西。
答案 0 :(得分:1)
是的,可以使用输出缓冲系统。
ob_start();
include("your_external_php_file.php");
$parsed_html = ob_get_clean();
include()
将执行文件中的任何<?php ... ?>
代码块,OB系统将捕获缓冲区处于活动状态时该文件执行的任何输出。然后你获取缓冲区的内容,现在$parsed_html
拥有所有的html,以及你的php函数调用输出的任何东西。