-2

こんにちは、私は疑問に思っていましたが、何かを見逃したのかもしれませんhtmlspecialchars()。なぜこの関数は、このすべての html 特殊文字 html 特殊文字リストを置き換えないのですか?

%たとえば、私が見ることができるように文字が置き換えられない原因

PHPマニュアルには次のように書かれています:

 '&' (ampersand) becomes '&'
    '"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
    "'" (single quote) becomes ''' only when ENT_QUOTES is set.
    '<' (less than) becomes '&lt;'
    '>' (greater than) becomes '&gt;'

他のキャラクターについては?それらすべてを置き換える機能はありませんか?

4

1 に答える 1

4

マニュアルには、知っておく必要があるすべての情報が記載されています。

特定の文字は HTML で特別な意味を持ち、その意味を保持する場合は HTML エンティティで表す必要があります。この関数は、これらの変換の一部が行われた文字列を返します。作成された翻訳は、日常の Web プログラミングに最も役立つものです。すべての HTML 文字エンティティを翻訳する必要がある場合は、htmlentities()代わりに を使用してください。

この関数は、メッセージ ボードやゲスト ブック アプリケーションなどで、ユーザーが指定したテキストに HTML マークアップが含まれないようにするのに役立ちます。

実行される翻訳は次のとおりです。

  • ' &' (アンパサンド) は ' &amp;'になります
  • ' "' (ダブルクォーテーション) が設定されていない&quot;場合ENT_NOQUOTESは ' ' になります。
  • " '" (シングルクォート)は が設定されている&#039;場合のみ ' ' になりENT_QUOTESます。
  • ' <' (より小さい) は ' &lt;'になります
  • ' >' (より大きい) は ' &gt;'になります
于 2011-10-11T14:20:48.290 に答える