2016-06-15 8 views
1

私は実際にドキュメントのまわりにたくさんの<?phpタグを持つ非常に長いPHP/HTMLページを持っています。これは本当に悪いPHPコードなので、XXXからZZZのような文字列を変更する必要があります。私はコードでそれを変更しようとすることができますが、それは非常にプログラムが悪いので、私は別の代替手段を見つけることを試みるかもしれないと思うので、約7000行があります。ページの出力を取得し、PHPで最終的な "解析"を行います

私はちょうどこのアイデアを出しました:このPHPコードが上記のすべての出力コードを "つかむ"ようにページの一番下にPHPコードを追加して、それは操作することができ、最後にエコーすることができますか?

例:

<?php 

balbalbla 

?> 

<div>BLABLA XXX</div> 
.... 
blabla 
<?php echo "blablXXXabla";> 

.. 

はそれが右&過去の「出力」のすべてをつかむのコードの下にあるいくつかのPHPコードを追加し、それを変更することは可能ですか?

+0

はい、SO/Google検索について* PHP出力バッファリング* –

答えて

2

あなたは上部と下部にコードを追加する必要があります。

<?php 
ob_start(); 

//code 

$output = ob_get_clean(); 

$output = str_replace('XXX', 'ZZZ', $output); 

echo $output; 

このob_start()ですべての出力をキャプチャバッファを開始し、その後、すべての出力後ob_get_clean()は内容を取得し、変数に代入し、バッファをクリアします。今度は$outputの内容を変更して表示するだけです。

Output Buffering Controlを参照してください。

+0

ありがとうございました!それでも、バッファの途中に<?phpタグの中にないHTMLがありますか? – Samul

+0

はい、ページ全体が出力される前にPHPで処理されます。 – AbraCadaver

+0

ありがとう!それを知ってよかった! – Samul

関連する問題