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

説明

sanitize_html_class() は、HTMLのクラス名として使えない文字を取り除く関数です。

基本構文

sanitize_html_class( string $classname, string $fallback = '' ): string

引数

  • $classname:クラス名
  • $fallback:無効な場合の代替値

戻り値

サニタイズ済みの文字列。

使い方(サンプル)

$cls = sanitize_html_class( $input );

注意点

  • class 属性に動的な値を出力するときに使います。

実務での使いどころ

  • ユーザーの入力やデータから、CSSのクラス名を作るとき。

よくあるミスと対処

  • 複数のクラスを、スペース区切りで渡している。スペースが取り除かれ、1つの文字列になる。1つずつ整えて、つなげる。
  • 出力時の、エスケープを省いている。属性値として出力するときは、esc_attr() も通す。
  • 使える文字は、英数字・ハイフン・アンダースコアのみ。

NG例

echo sanitize_html_class( 'btn btn-primary' ); // スペースが取り除かれ、「btnbtn-primary」になる

OK例

$classes = array( 'btn', $type );
echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $classes ) ) );

使い分け早見表

関数 使う場面
sanitize_html_class() クラス名を、使える文字だけに整える
esc_attr() 属性値として、出力する
sanitize_key() キーとして、使える文字列に整える

関連項目

esc_attr()

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

コメント

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