- ベストアンサー
PHPソースと、実行結果を表示したい。
お世話になります。 phpのスクリプト自体と、その結果を表示したいのですが、 良い方法が見つかりません。 <?php echo "aaaa".'<br>'; function xyz(){ ・・・・ } ?> などというスクリプト自体を表示し、その実行結果も表示したいのです。 スクリプト自体を表示するとき<pre>タグを使うと <br>などはひょうじされず実際の改行となってしまいます。 何か良い方法はないものでしょうか。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>zwiさんこんばんは。 >つまり、ソースを表示し、また、実行したいスクリプトを外部ファイルとするということですよね。 いえ私は、実行結果を表示するプログラムとソースを表示するプログラムを同じ1つのphpで実現するつもりで書きました。 >問題としては読み込んでいるコード部分も表示されてしまうことぐらいですかね。 ってのは、そのままの意味です。 ソースを分けていただいてinclude_onceだけするなら別に何の問題も無いです。自由に使ってやってください。
その他の回答 (2)
- zwi
- ベストアンサー率56% (730/1282)
これで表示出来ると思います。 $src = file_get_contents('xxx.php'); $src = htmlspecialchars($src); $src = str_replace("\n","<br>",$src); echo $src; 自分自身のソースコードをファイルとして読み込んで、HTMLタグをエスケープ、改行コードを整形しています。 問題としては読み込んでいるコード部分も表示されてしまうことぐらいですかね。
補足
zwiさんこんばんは。 つまり、ソースを表示し、また、実行したいスクリプトを外部ファイルとするということですよね。 そのソースをxxx.phpへ保存して、 <div class="DspSrc"> <?php $src = file_get_contents('xxx.php'); $src = htmlspecialchars($src); $src = str_replace("\n","<br>",$src); echo $src; ?> </div> <div class="Exe"> <?php include_once('xxx.php'); ?> </div> で、思い通りの動作となりました。 ありがとうございました。 ただ、 >問題としては読み込んでいるコード部分も表示されてしまうことぐらいですかね。 の意味がわかりません。 上記のスクリプトは何か問題があるでしょうか。
- yambejp
- ベストアンサー率51% (3827/7415)
htmlspecialchars()とか?
補足
yambejpさん、早速レスありがとうございます。 htmlspecialchars()ですか。なるほどと、思い考えてみましたが、 <?php echo "aaaa".'<br>'; function xyz(){ ・・・・ } ?> と、いうソースに対して、この実行結果を表示するのは、 この部分そのものを*.phpファイルへ添付するだけで済むわけですが、 そのソースを、つまり上の<?php ・・・・・ ?> の・・・・・の部分をどのように表示したらよいかということです。 htmlspecialchars()で、・・・・・の部分を取得することができるのでしょうか。
お礼
zwiさんおはようございます。 わかりました。理解できました。 phpの自分自身を読み込んで処理をするなんて。 目から鱗です。 どうもありがとうございました。