2016-02-28 88 views
0

我有两个文件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> 
+0

浏览器解释'<?PHP的echo $ examples->'为HTML标签。这个“标签”对于浏览器是未知的,所以它忽略它并仅显示“内容”。 –

回答

1

,你可以做一个简单的方式

首先在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

希望以上回答可以帮助 谢谢

+0

非常好的解决方案,谢谢你的帮助! :) –

+0

不客气 –

0

您是否尝试过通过获得的file_get_contents您的模板文件的内容?那么也许你可以提取使用SUBSTR()strpos()

相关问题