PHP包含之前修改文件的内容

时间:2013-09-14 16:27:19

标签: php html require

是否可以通过require函数以某种方式修改现有代码中包含的文件内容?例如,我在我的代码中包含文件,如下所示:

require $page_body;

现在我想使用strip_tags函数省略HTML标记以删除HTML标记。 如果此代码包含没有PHP代码(<?php /* php code goes here */ ?>)的纯HTML标记,则以下内容将按预期工作:

  $content =  strip_tags(file_get_contents($page_body));
  echo $content;

但是,如果我的$page_body是HTML和PHP的混合,那么当我使用$content打印print_r时,回声什么也没有回复,这似乎是几个空字符串

[wakatana@HP-PC v2]$ php includer.php 













[wakatana@HP-PC v2]$ 

我的猜测是strip_tags对于包含alos PHP的HTML代码效果不佳。

2 个答案:

答案 0 :(得分:0)

当您使用require或include时,代码将被插入文件中,之后您无法更改它。

您可以做的是使用fopen()打开文件,然后执行所有更改并保存文件。毕竟,当您再次加载文件时,它将按您的意愿进行。

如果您不想更改实际文件,可以打开原始文件,以及临时文件,从原始文件复制信息,更改它,将其保存到临时文件,包含临时文件,然后将其删除。这样,您可以在不更改原始文件的情况下按原样更改原始信息。

答案 1 :(得分:0)

一个解决方案可能是output buffering,我建议您查看一下,对其他内容也很有用。

ob_start();
require $page_body;
$content = ob_get_clean();
echo strip_tags($content);