解析PHP页面并将HTML插入变量
是否可以在PHP中使用如下模板文件:解析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(); ?>
<!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的模板引擎”。