2

PHPエンジンによって解釈されるに、PHPコードで検索と置換を実行する方法はありますか?

希望するタイムライン:

  1. PHPコードは<?php echo("hello"); ?>です。
  2. 検索と置換の操作はhellogood bye
  3. PHPコードはになり<?php echo("good bye"); ?>ました。
  4. PHPエンジンがコードを解釈します(出力はgood bye)。

Apacheの出力フィルターを使用してob_start、または出力フィルターとして使用して、PHPエンジンの出力を操作することができます。mod_substituteただし、PHPエンジンの入力(PHPコード、リクエストなど)を操作することは可能ですか?

編集:

私は何千ものPHPファイルを扱っていますが、それらを変更したくありません。これらのファイルはからコピーされたものであり、で実行する必要があるため、これらのファイルで置き換えたいと思いhost1ます。実際、ホスト名に対していくつかのテストが行​​われます。host2host1host2

4

3 に答える 3

0

リクエストは珍しいです)
ばかげているようです。しかし、本当に必要な場合は、これを試してください。
たとえば、test.php実行する前にファイルを変更する必要があります。
次の手順を試してください(index.phpたとえば)
。1)test.phpを開いて読み取り、その内容を取得します。
2)必要なものをすべて交換します。
3)変更したテキストをtest2.php
4)インクルードとして保存しますtest2.php

編集

なぜあなたがそれを必要とするのか?変数を使用してみてください。
それが役立ちます)

于 2012-11-05T12:44:55.410 に答える
0

ファイルを開き.php、必要な置換を行ってから、そのファイルを作成するphpスクリプトを使用できincludeます。

于 2012-11-05T12:45:08.233 に答える
0

smartyやさまざまな形式のプレフィルターなどのテンプレートエンジンを学習する必要があります。

このようにコードを変更することはお勧めできませんが、質問に答えるには...元のコードをロードして前処理し、新しいファイルに保存することができます。

$contents = file_get_contents( 'original.php');
// ...
file_put_contents( 'new.php', $contents);
include( 'new.php')

しかし、これの有効な使用法は見当たりません...

あなたもおそらく使うかもしれeval()ませんが、あなたがそれをするたびに子猫は死にます(実際には、それは危険な機能であり、実際にはそれのいくつかの有効な使用法があります)。

于 2012-11-05T12:46:08.543 に答える