PHP

Hypertext Preprocessor

htmlspecialchars

 htmlspecialchars関数は、文字列内に含まれる特定の文字を HTMLエンティティに変換するための関数です。この関数は、HTMLタグを含む文字列を安全に表示するために使用されます。

 具体的には、以下の5つの文字が HTMLエンティティに変換されます。

  1. "&"(アンパサンド)→ "&"
  2. """(ダブルクォーテーション)→ """
  3. "'"(シングルクォーテーション)→ "'"
  4. "<"(小なり記号)→ "&lt;"
  5. ">"(大なり記号)→ "&gt;"

 この関数は、第1引数に変換したい文字列を指定し、第2引数には文字コードを指定します。文字コードが指定されていない場合、デフォルトで UTF-8 が使用されます。

 例えば、以下のように使用することができます。


$str = '<script>alert("XSS!");</script>';
echo htmlspecialchars($str, ENT_QUOTES, 'UTF-8');

 この例では、$str変数に JavaScriptを含む文字列が格納されています。htmlspecialchars関数を使用して、スクリプトが実行されていないように変換しています。第2引数の ENT_QUOTESは、シングルクォートとダブルクォートの両方を変換することを指定しています。