htmlentities() と htmlspecialchars() 質問する

htmlentities() と htmlspecialchars() 質問する

htmlspecialchars()との違いは何ですかhtmlentities()。どちらをいつ使用すればよいですか。

ベストアンサー1

htmlspecialchars使用される可能性があるもの:

  1. HTML に相当する文字がすべてエンコードされる必要がない場合。

    ページのエンコーディングがテキストの特殊記号と一致することがわかっている場合、なぜhtmlentities? を使用するのでしょうかhtmlspecialchars。これは非常に簡単で、クライアントに送信するコードが少なくなります。

    例えば:

    echo htmlentities('<Il était une fois un être>.');
    // Output: &lt;Il &eacute;tait une fois un &ecirc;tre&gt;.
    //                ^^^^^^^^                 ^^^^^^^
    
    echo htmlspecialchars('<Il était une fois un être>.');
    // Output: &lt;Il était une fois un être&gt;.
    //                ^                 ^
    

    2 番目のものは短く、ISO-8859-1 文字セットが設定されている場合は問題は発生しません。

  2. データがブラウザ経由でのみ処理される場合(HTMLエンティティのデコードを回避するため)、

  3. 出力がXMLの場合(Artefactoによる回答)。

おすすめ記事