プロが教えるわが家の防犯対策術!

お世話になります。
phpのスクリプト自体と、その結果を表示したいのですが、
良い方法が見つかりません。
<?php
echo "aaaa".'<br>';
function xyz(){
・・・・
}
?>
などというスクリプト自体を表示し、その実行結果も表示したいのです。
スクリプト自体を表示するとき<pre>タグを使うと
<br>などはひょうじされず実際の改行となってしまいます。
何か良い方法はないものでしょうか。
よろしくお願いいたします。

A 回答 (3件)

>zwiさんこんばんは。


>つまり、ソースを表示し、また、実行したいスクリプトを外部ファイルとするということですよね。

いえ私は、実行結果を表示するプログラムとソースを表示するプログラムを同じ1つのphpで実現するつもりで書きました。
>問題としては読み込んでいるコード部分も表示されてしまうことぐらいですかね。
ってのは、そのままの意味です。
ソースを分けていただいてinclude_onceだけするなら別に何の問題も無いです。自由に使ってやってください。
    • good
    • 0
この回答へのお礼

zwiさんおはようございます。
わかりました。理解できました。
phpの自分自身を読み込んで処理をするなんて。
目から鱗です。
どうもありがとうございました。

お礼日時:2009/02/22 09:49

これで表示出来ると思います。


$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>
で、思い通りの動作となりました。
ありがとうございました。
ただ、
>問題としては読み込んでいるコード部分も表示されてしまうことぐらいですかね。
の意味がわかりません。
上記のスクリプトは何か問題があるでしょうか。

補足日時:2009/02/21 21:59
    • good
    • 0

htmlspecialchars()とか?

この回答への補足

yambejpさん、早速レスありがとうございます。
htmlspecialchars()ですか。なるほどと、思い考えてみましたが、
<?php
echo "aaaa".'<br>';
function xyz(){
・・・・
}
?>
と、いうソースに対して、この実行結果を表示するのは、
この部分そのものを*.phpファイルへ添付するだけで済むわけですが、
そのソースを、つまり上の<?php ・・・・・ ?>
の・・・・・の部分をどのように表示したらよいかということです。
htmlspecialchars()で、・・・・・の部分を取得することができるのでしょうか。

補足日時:2009/02/21 16:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!