WPの場合、基本的には the_title() など the_XXX 系関数はエスケープ処理がすでにされて出力されるため、エスケープしなくて良い。
それ以外の関数で出力する場合は、下記のような関数を使用する。
- esc_html(HTMLタグをエスケープする、htmlspecialcharsにUTF8の文字チェックを含めた関数)
- esc_attr(href、src属性以外の属性値の出力に利用)
- esc_url(href、src属性の出力に利用)
- esc_url_raw(URLをデータベースに保存する際に利用)
- urlencode(URLをエンコードする際に利用、クエリパラメーターの使用やURLに変数を含めたりする際に使用する)
- esc_textarea(textarea要素の値に使用)
- wp_strip_all_tags(すべてのHTMLタグを除去する、strip_tagsのラッパー関数)
- sanitize_text_field(ユーザー入力やデータベースから取得した文字列を無害化。タグや空白の除去など)
- sanitize_user(ユーザー名から危険な文字を取り除く)
- wp_kses(指定したHTML以外を除去)
- wp_kses_post(投稿で許可されたHTMLタグ以外を除去)
- wp_kses_data(コメントで許可されたHTMLタグ以外を除去)