3

HTMLタグをテキストとして(コードではなく)画面に印刷する必要があります。

読者が文字通りタグを読む必要があります。

そうするためのベストプラクティスは何ですか?

print htmlspecialchars('<meta name="copyright" content="© Winston Smith, 1984">');

また

print htmlentities('<meta name="copyright" content="© Winston Smith, 1984">');

または上記のどれでもない。

  • もっと良い方法はありますか?
  • 他に何を考慮すべきですか?
  • そして最後の質問-私は印刷、エコーを使用するべきですか、それとも違いはありませんか?

*編集I *

htmlentities()の文字「©」に問題があります。これは私の疑問を確認するだけです-どれがすべての場合に安全に使用できますか-そしてhtmlタグをテキストとして印刷する別の方法はありますか?

4

1 に答える 1

10

基本的に、HTMLをテキストとして読みやすくするために本当に必要なのは次のとおりです。

$out = strtr($input,Array("<"=>"&lt;","&"=>"&amp;"));

htmlspecialchars基本的にはのサブセットですhtmlentitieshtmlentities代替エンティティ、つまりすべての名前付きエンティティと少数のコードを持つすべてのものをエンコードします。

于 2012-06-08T00:34:50.213 に答える