エスケープします、つまりHTMLで特別な意味を持つ文字を変換します
エスケープすることによってJavaScriptの実行を無効にします
- <タグの開始 → <
- >タグの終了 → >
- &文字実体参照の開始 → &
- “属性値の区切り → "
- ‘属性値の区切り → '
▼サンプルコード
<?php
// 危険な入力データ
$userInput = '<script>alert("悪意のあるコード")</script>';
// エスケープ前(危険)
echo $userInput;
// 出力: <script>alert("悪意のあるコード")</script>
// → ブラウザでJavaScriptが実行される
// エスケープ後(安全)
echo htmlspecialchars($userInput);
// 出力: <script>alert("悪意のあるコード")</script>
// → ブラウザでは文字列として表示される
?>