htmlspecialchars():PHPリファレンス

htmlspecialchars()に関する用語の解説。

htmlspecialchars()とは

htmlspecialchars関数は特殊文字をHTMLエンティティに変換する関数です。変換文字の対象としては、&、<、>、"、'があります。

PHP書式

htmlspecialchars(文字列);

戻り値

HTMLエンティティに変換された文字列

サンプルコード

$data = "<script>*危険なスクリプトなど*</script>";
echo htmlspecialchars($data);

出力結果

<script>*危険なスクリプトなど*</script>
「&lt;」や「&gt;」を特殊文字としてHTMLエンティティに変換しているので、<script>で囲まれた内容が実行されません。

補足

htmlspecialcharsは掲示板などのフォームにおいて危険なスクリプトなどを入力されてそれが実行されてしまうことを無効にしたいときなどに利用します。

なお、文字列をHTMLエンティティするPHP関数としては、「htmlspecialchars」の他に「htmlentities」があります。作用もほぼ同じですが、現在圧倒的にhtmlspecialcharsのほうがよく利用されています。これは、タグを無効化するという観点からはhtmlspecialcharsで特殊文字をHTMLエンティティするだけで必要性は十分に満たしているからで、htmlentitiesよりも使い勝手が良いことからきているものと思われます。