【PHP】 htmlentitiles/htmlspecialchars関数の使い方
htmlentitiles関数の使い方(HTMLエンティティに変換する)
php3~ で使用できます。
htmlentitiles関数 : 書式
書式:
htmlentitiles(① [, ② [, ③ [, ④]]])
引数:
①文字列
②クォーテーションの変換設定(既定値:ENT_COMPAT)(省略化)
ENT_COMPATの場合は、ダブルクォーテーションのみを変換します
ENT_NOQUOTESの場合は、クォーテーションを処理しません
ENT_QUOTESの場合のみ、シングルクォーテーションを変換します
③文字コード(省略化)
④Offの場合は既存のHTMLエンティティをエンコードしません(省略化)
戻り値:
HTMLエンティティに変換された文字列
htmlentitiles(① [, ② [, ③ [, ④]]])
引数:
①文字列
②クォーテーションの変換設定(既定値:ENT_COMPAT)(省略化)
ENT_COMPATの場合は、ダブルクォーテーションのみを変換します
ENT_NOQUOTESの場合は、クォーテーションを処理しません
ENT_QUOTESの場合のみ、シングルクォーテーションを変換します
③文字コード(省略化)
④Offの場合は既存のHTMLエンティティをエンコードしません(省略化)
戻り値:
HTMLエンティティに変換された文字列
htmlentitiles関数は適用可能な文字をすべてHTMLエンティティに変換します。逆の処理を行う場合は、html_entity_decode関数を使用します。
htmlentitiles関数 : 使用例
- 文字列をHTMLエンティティに変換する$str = "\"123\"'abc'";
$str = htmlentitiles($str);変数$strにセットされる値 → "123"'abc'
- シングルコーテーションを含めてHTMLエンティティに変換する$str = "\"123\"'abc'";
$str = htmlentitiles($str, ENT_QUOTES);変数 $str にセットされる値 → "123"'abc'
html_entity_decode関数 : 使用例
- HTMLエンティティをデコードする$str = ""123"";
echo html_entity_decode($str); →「"123"」を出力
htmlspecialchars関数の使い方(特殊文字をHTMLエンティティに変換する)
php3~ で使用できます。
htmlspecialchars関数 : 書式
書式:
htmlspecialchars(① [, ② [, ③ [, ④]]])
引数:
①文字列
②クォーテーションの変換設定(既定値:ENT_COMPAT)(省略化)
ENT_COMPATの場合は、ダブルクォーテーションのみを変換します
ENT_NOQUOTESの場合は、クォーテーションを処理しません
ENT_QUOTESの場合のみ、シングルクォーテーションを変換します
③文字コード(省略化)
④Offの場合は既存のHTMLエンティティをエンコードしません(省略化)
戻り値:
HTMLエンティティに変換された文字列
htmlspecialchars(① [, ② [, ③ [, ④]]])
引数:
①文字列
②クォーテーションの変換設定(既定値:ENT_COMPAT)(省略化)
ENT_COMPATの場合は、ダブルクォーテーションのみを変換します
ENT_NOQUOTESの場合は、クォーテーションを処理しません
ENT_QUOTESの場合のみ、シングルクォーテーションを変換します
③文字コード(省略化)
④Offの場合は既存のHTMLエンティティをエンコードしません(省略化)
戻り値:
HTMLエンティティに変換された文字列
htmlspecialchars関数は特殊文字をHTMLエンティティに変換します。変換対象の文字と変換結果は以下の通りです。
変換前 | 変換後 |
---|---|
& | & |
" | " |
' | ' |
< | < |
> | > |
この関数はタグを無効化するときなどに使われます。ファームからの入力値にタグが含まれており、そのままデータベースに追加したり表示させたくない場合は、この関数でHTMLエンティティに変換します。
htmlspecialchars関数 : 使用例
- シングルクォーテーションを含めてHTMLエンティティに変換する$a = "'AA'";
$b = htmlspecialchars($a, ENT_QUOTES); →$bに「'AA'」をセット
<解説>
セキュリティ対策の意味でhtmlspecialchars関数を使用する場合、ENT_QUOTESを指定してシングルクォーテーションを含めてHTMLエンティティに変換します。
関連リンク
PHPトップページ
PHP入門 & 関数リファレンス
PHPの初心者からベテランまで活用できるページです。初めての方はもちろん、もう一度基礎から学びなおしたい方は、基礎知識のページを順に読んで理解しましょう。ベテランの方向けには、関数の書式・パラメーターを調べられる構成になっています。PHPプログラム作成時にご活用下さい。