2016-03-21 19 views
1

私は挑戦に直面しているプレビューHTML部門を作成しようとしています。 テキストエリアからコードを取得してHTMLで印刷しようとすると、PHPコードが表示されませんでした。jqueryを使用してプレーンテキストとしてPHPスクリプトを印刷

jQuery(document).ready(function($) { 
    setInterval(function(){ 
     $("#pques").html($("#eques").val()); 
    } 
}); 
:ここのは、テキストエリアからコードが テキストエリアから値を取得し、上記のHTMLかなり印刷領域に配置します

<pre id='pques'></pre> 

jQueryのコードを印刷されます HTML私のコードです

テキストエリア内の値id = eques

次のPHPコードの出力はどのようになりますか? <div class="code"><?php $num = 1; $num1 = 2; print $num . "+". $num1 ; ?> </div>

誰かがこれを達成するのを手伝ってください。私はスタックオーバーフローの質問のプレビューのものに多少似た機能が欲しい。

ありがとうございます。

+0

[this](http://stackoverflow.com/a/6234808/4202224)の回答をご覧ください。 '.html()'の代わりに '.text()'を使うことができます。 – empiric

+0

経験的です。ありがとうございました。しかし、私はPHPコードだけをエスケープしたい。 '

'はHTML形式で、 '<?php $ num ...?>'はPHPのプレーンテキストとして出力する必要があります。 RegExpでの作業かもしれません。助けて。 –

答えて

1

これを実行する最も簡単な方法は、HTMLのエンティティとしてPHPオープンタグと終了タグで角括弧をエスケープすることです:

<?php .. ?>&lt;?php ... ?&gt;なり - PHPは、サーバーのコードとしてこれを扱わないだろうし、それを無視しますが、ブラウザは&lt;<&gt;>と表示します。この方法でJavaScriptを実行する必要はなく、ページに直接印刷することができます。あなたのサイトに入力されたPHPコードを常にHTMLエンコードし、実行可能コードではなくエンティティで保存するようにアドバイスします。

+0

うわー。ありがとうKallum。これは機能します。驚くばかり。 –

0

あなたはjqueryのを使用すると、@のkallum-tantonとして括弧をエスケープします

このhereを説明し、すでに指摘したように、あなたがこれを達成することができます。

関連する問題