【问题标题】:PHP Modify content of file before is includedPHP 修改文件内容之前包含
【发布时间】:2013-09-19 04:14:08
【问题描述】:

是否可以通过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 的混合体,则回显不会返回任何内容,当我使用 print_r 打印 $content 时,它似乎是几个空字符串

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













[wakatana@HP-PC v2]$ 

我的猜测是strip_tags 不适用于包含 alos PHP 的 HTML 代码。

【问题讨论】:

    标签: php html require


    【解决方案1】:

    当你使用require或include时,代码被插入到文件中,之后你不能改变它。

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

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

    【讨论】:

      【解决方案2】:

      一个解决方案可能是output buffering,我建议你检查一下,对其他东西也有用。

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

      【讨论】:

        猜你喜欢
        • 2015-06-17
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 2020-06-28
        相关资源
        最近更新 更多