3

私の質問はとても簡単です。私がやりたいことは、実際の PHP コードを実行せずに HTML で記述することだけです。たとえば、私は書きたい

<div id = "code"><?php
echo 'Bla Bla Bla';
?></div>

この PHP を実行したくありません。どういうわけかタグをエスケープして、HTMLドキュメントにPHPコードを文字通り書きたいです<?php(タグを削除したくありません)。

残念ながら、これを実行してブラウザーにエコーすると、次のようになります。

<div id = "code"><?php echo '<?php
echo "Bla Bla Bla";
?>' ?></div>

また、コードを変数に入れようとしましたが、それでもうまくいきませんでした。

PHP コードがブラウザによってコメントアウトされます。Chromeのオプションで確認できますView Page Sourceが、ブラウザはコメントと認識しています。

私の問題の解決策を教えてください。

前もって感謝します。

PS: CodeMirror を使用して、'application/x-httpd-php' を使用して埋め込み PHP/HTML コードを出力しています。

編集#1

タグに lt と rt を使用できますが、CodeMirror はタグが見つかったときにのみコードの強調表示を開始するため、実際には使用できません<?

4

7 に答える 7

7

<?PHP echo "test"; を使用して、php タグをエンコードします。?>

于 2013-11-08T12:13:13.603 に答える
3

コードを htmlspecialchars() でエスケープします。

<div id="code">
    <?php echo htmlspecialchars("<?php echo 'Bla Bla Bla' ?>") ?>
</div>
于 2013-11-08T12:17:41.963 に答える
1

こちらをご覧ください: http://www.php.net/manual/en/function.htmlentities.php

<div id = "code"><?php echo htmlentities('<?php

echo "Bla Bla Bla";
?>'); ?></div>
于 2013-11-08T12:15:57.947 に答える
1

これを試して

<div id = "code">
    <?php echo htmlentities('<?php echo "Bla Bla Bla"; ?>'); ?>
</div>
于 2013-11-08T12:16:50.467 に答える
0

解決策 1:あなたの解決策はおそらくファイルに名前を付けないことです.php....txt代わりに試してください。この方法では、Web サーバーはファイルを PHP パーサーに渡しません。

解決策 2:file()他の解決策は、目的のコードを含むファイルと組み合わせて実行する別の php スクリプトからファイルを読み取ることhtmlspecialchars()です。

解決策 3:変数に既にコードがあり、「ソース ビュー」でコードを確認できる方法で出力される場合は、次を使用するだけで十分です。htmlspecialchars()

于 2013-11-08T12:41:28.787 に答える