1

require関数によって既存のコードに含まれているファイルの内容を何らかの方法で変更することは可能ですか? たとえば、次のようにコードにファイルを含めています。

require $page_body;

strip_tagsここで、HTML タグを削除する関数を使用して HTML タグを省略したいと思います。このコードに PHP コードを含まない純粋な HTML タグ ( <?php /* php code goes here */ ?>) が含まれている場合、次は期待どおりに機能します。

  $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

1つの解決策は出力バッファリングです。チェックアウトすることをお勧めします。他のものにも役立ちます。

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