htmlspecialchars()関数TweetWebアプリケーションでユーザーの入力した文字列を出力する際、HTML特殊文字をエスケープしておかないとクロスサイトスクリプティングやスクリプト挿入攻撃といった脆弱性につながります。PHPでは、HTML特殊文字をエスケープするhtmlspecialchars()関数やHTMLタグを削除するstrip_tags()関数が定義されており、これらの関数を使用することで簡単に対応することができます。htmlspecialchars()htmlspecialchars()は、第1引数で渡された文字列内のHTML特殊文字をエスケープして返します。第2引数は、デフォルト値のENT_COMPAT定数ではシングルクォートがエスケープされないので、ENT_QUOTES定数を指定します。第3引数は文字コード、第4引数は既にエスケープされている特殊文字を重複してエスケープするかをBool値で指定します。初期値のtrueの場合、&amp;は&amp;amp;に変換されます。htmlspecialchars_decode()htmlspecialchars_decode()は、エスケープされたHTML特殊文字をデコードします。第1引数に対象となる文字列を渡し、第2引数ではダブルクォート・シングルクォートの扱いをquote_style定数で指定します。デフォルトのENT_COMPAT定数はダブルクォートのみを変換し、ENT_QUOTES定数はダブルクォート・シングルクォートを変換します。ENT_NOQUOTES定数は、どちらも変換しません。strip_tags()strip_tags()は、第1引数で渡された文字列からHTMLタグ・PHPタグ・Nullバイトを取り除いた文字列を返します。第2引数は省略可能で、取り除かないタグを文字列で指定することができます。5.3以降では、第2引数でfalseを渡すと挿入するタグを<br>にすることができます。