esc_attr() の使い方|説明・引数・注意点

説明

esc_attr() は、HTMLの属性値(class、title、value など)に出力する文字列をエスケープする関数です。

基本構文

esc_attr( string $text ): string

引数

  • $text:エスケープする文字列

戻り値

エスケープ済みの文字列。

使い方(サンプル)

echo '<input type="text" value="' . esc_attr( $value ) . '">';

注意点

  • 属性値に出力する変数には、必ず通します。
  • URLを入れる属性(href、src)には esc_url() を使います。

実務での使いどころ

  • value・class・data-* などの、HTML属性の値に、変数を出力するとき。
  • 入力欄の初期値(value)を、出力するとき。

よくあるミスと対処

  • URLを出力する属性(href・src)に使っている。URLには esc_url() を使う。
  • HTMLのテキストとして出力する値に使っている。テキストには esc_html() を使う。
  • 属性値を、引用符で囲んでいない。esc_attr() は、引用符で囲まれた属性値の中で使う前提。

NG例

<input type="text" value="<?php echo $value; ?>"> <!-- エスケープがない -->

OK例

<input type="text" value="<?php echo esc_attr( $value ); ?>">

使い分け早見表

出力先 使う関数
HTMLの属性値 esc_attr()
HTMLのテキスト esc_html()
URL(href・src) esc_url()

関連項目

esc_html()、esc_url()、esc_js()

公式リファレンス:esc_attr() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました