1

是否可以通过函数以某种方式修改包含在现有代码中的文件的内容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 代码。

4

2 回答 2

0

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

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

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

于 2013-09-14T16:32:46.633 回答
0

一种解决方案可能是输出缓冲,我建议你检查一下,它也可以用于其他东西。

ob_start();
require $page_body;
$content = ob_get_clean();
echo strip_tags($content);
于 2013-09-14T16:36:05.387 回答