从包含PHP代码的外部文件导入HTML标记
我有两个文件index.php和template.html。在模板文件中,我有一个div,其中包含一些PHP代码。我想要实现的是从模板中拉出包括所有内容的div并将其插入到我的主索引页面。我设法这样做了,但前提是div内没有PHP代码。但是如果包含任何PHP,我会看到像这样的“saveHTML($ snippet [1])?>;”而不是完整的PHP代码块。您能否解释我无法移动包括PHP代码的div的原因。从包含PHP代码的外部文件导入HTML标记
index.php文件
<?php
//some basic stuff such as new DOMDocument(); loadHTMLFile and so on
$post = $posts->query("//div[contains(@class, 'post')]");
?>
<body>
<?php echo $templates->saveHTML($post[0]);?>
</body>
template.html文件
<div class="post">
<?php echo $examples->saveHTML($snippet[1]) ?>;
</div>
,你可以做一个简单的方式
首先在template.html请%%posts%%
即 template.html更换您的动态内容的div
<div class="post">
%%posts%%
</div>
然后在您的index.php得到使用的file_get_contents 模板的内容之后,与您的动态代码替换它像如下
$htmlFile = 'template.html';
$yourDynamicContents = 'Replace your dynamice msg here';
$contents = file_get_contents($htmlFile);
$contents = str_replace('%%posts%%', $yourDynamicContents, $contents);
$contents
有整页...您可以回声或使用该模板发送邮件甚至传递到打印PDF等
上面会做简单的清洁。 P.S你可以在$ yourDynamicContents更换任何东西是否它的CSS,HTML,JS
希望以上回答可以帮助 谢谢
非常好的解决方案,谢谢你的帮助! :) –
不客气 –
您是否尝试过通过获得的file_get_contents您的模板文件的内容?那么也许你可以提取使用SUBSTR()strpos()
浏览器解释''为HTML标签。这个“标签”对于浏览器是未知的,所以它忽略它并仅显示“内容”。 –