tag_escape()


WordPressのtag_escape()関数は、HTMLタグ内で使用される属性値をエスケープするために使用されます。この関数は、XSS(クロスサイトスクリプティング)攻撃を防ぐためのセキュリティ対策として重要な役割を果たします。

構文

tag_escape( string $text )
  • $text (string) – エスケープする文字列

例1:基本的な使用方法

HTMLタグ内での属性値のエスケープ:

$tag_class = tag_escape('my-class < > & " '); echo '<span class="' . $tag_class . '">テキスト</span>';

例2:動的なクラス名の処理

ユーザー入力に基づくクラス名の安全な使用:

$user_input = $_GET['class_name']; $safe_class = tag_escape($user_input); echo '<div class="' . $safe_class . '">コンテンツ</div>';

例3:data属性での使用

カスタムdata属性の値をエスケープ:

$data_value = tag_escape('user<script>'); echo '<span data-user="' . $data_value . '">ユーザー情報</span>';

例4:IDの安全な割り当て

動的なID属性の処理:

$post_id = get_the_ID(); $element_id = tag_escape('post-' . $post_id); echo '<span id="' . $element_id . '">投稿内容</span>';

例5:フォーム要素での使用

入力フィールドの値をエスケープ:

$default_value = tag_escape(get_post_meta(get_the_ID(), 'custom_field', true)); echo '<input type="text" value="' . $default_value . '">';

例6:カスタム属性の処理

WAI-ARIA属性での使用:

$aria_label = tag_escape('次のセクション > '); echo '<button aria-label="' . $aria_label . '">次へ</button>';

例7:テーマカスタマイザーでの使用

カスタマイザーからの値のエスケープ:

$custom_class = tag_escape(get_theme_mod('custom_element_class')); echo '<header class="' . $custom_class . '">ヘッダー</header>';

例8:プラグインデータの処理

プラグインオプションでの使用:

$plugin_data = tag_escape(get_option('plugin_custom_class')); echo '<nav class="' . $plugin_data . '">ナビゲーション</nav>';

セキュリティ上の注意点

  • tag_escape()はHTML属性値のエスケープにのみ使用してください
  • HTMLコンテンツのエスケープにはesc_html()を使用してください
  • URLのエスケープにはesc_url()を使用してください
  • 属性値以外のコンテキストでは適切な代替関数を使用してください

関連機能: