Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析PHP页面并将HTML插入变量_Php_Html_File - Fatal编程技术网

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

解析PHP页面并将HTML插入变量,php,html,file,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(); ?>

是否可以在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>

电双凸极
并将其加载到变量中,不回显它,但仍解析
某些内容()的结果。比如说
一些内容()
回声
哦,是的

那么这需要成为变量内容的一部分。这之所以重要,是因为我需要返回内容,而不是重复内容


我已经查看了
文件\u get\u contents()
,但这不会解析php,因此div是空的。我需要像解析文件和获取内容()这样的东西。

是的,这是可能的,有输出缓冲系统

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

include()。然后获取缓冲区的内容,现在
$parsed_html
拥有所有这些html,以及php函数调用在其中输出的任何内容。

您是否编写了
一些内容()
这是用户定义的吗?您是否考虑过使用输出缓冲区或真正的模板,不需要在其中执行PHP,而是替换一些字符串标识符?查看输出buffering@ghost是的,有些内容()是一个自定义函数。只是一个例子。它本身并没有什么问题。这似乎和我想要的完全一样。谢谢跟进:当使用缓冲系统时,是否有任何缺点或限制?并非真正的缺点。问题在于,您没有修复根本的“问题”(通过使用某种模板引擎),而是尝试修复结果/后果。@Rik_S:php是一个模板引擎。OP所做的并没有错,本质上是所有其他基于php的模板引擎所做的,只是它们有自己臃肿/不可读的语法和解析开销。我不同意说php是一个模板引擎。然而,我同意你的观点,本质上,使用ob_*函数进行模板化并没有什么错,甚至可以通过压缩缓冲区输出来加速你的站点。正如我所说的,按照所描述的方式做并没有真正的缺点。@Rik_S:我想我明白了你的意思,不解决根本问题-但在我的用例中,它需要在wordpress的上下文中工作,PHP肯定被用作模板引擎,因此我需要它使用函数,而不是使用str_replace()的{some content}样式的模板-如果Marc B所指的是“其他基于php的模板引擎”。