sanitize_html_class()


WordPress関数sanitize_html_class()は、HTMLクラス名をサニタイズ(安全化)するために使用されます。この関数を使用することで、不正な文字列が含まれるクラス名を適切な形式に変換し、HTML構造の安全性を保つことができます。

構文

sanitize_html_class( string $class, string $fallback = '' );

引数の説明:

  • $class (string) — サニタイズする対象のクラス名。
  • $fallback (string) — サニタイズが失敗した場合に使用される代替クラス名。デフォルトは空文字列。

例1: 基本的なサニタイズの使用

この例では、ユーザー入力のクラス名を安全な形式に変換します。

<?php echo sanitize_html_class( 'my-custom-class!@#$', 'default-class' ); ?>

例2: 投稿スラッグをクラス名に使用する

投稿スラッグをHTMLクラス名として安全に使用します。

<?php echo sanitize_html_class( get_post_field( 'post_name', get_the_ID() ) ); ?>

例3: 配列内の複数クラスをサニタイズ

配列内の各クラスをサニタイズし、スペースで区切った文字列を返します。

<?php
$classes = array( 'valid-class', 'invalid-class!@#$', 'another-class' );
echo implode( ' ', array_map( 'sanitize_html_class', $classes ) );
?>

例4: 動的に生成された値のサニタイズ

動的に生成された値をクラス名として使用する場合の処理例です。

<?php
$value = 'user-input-class123!@';
echo '<div class="' . sanitize_html_class( $value, 'fallback-class' ) . '">Content</div>';
?>

例5: フォールバック値を使用

無効なクラス名が指定された場合、フォールバック値を返します。

<?php echo sanitize_html_class( '!invalid-class', 'fallback-class' ); ?>

注意事項:

  • クラス名として許可されていない文字が含まれる場合、自動的に削除されます。
  • $fallbackが指定されていない場合、サニタイズに失敗すると空文字列が返されます。
  • 複数のクラス名を一度に渡すことはできません(配列を使用する必要があります)。

関連機能: