概要
sanitize_text_field
関数は、ユーザーからの入力を安全に処理するために使用される重要な関数であり、特にHTMLやJavaScriptのコードが含まれている可能性のある文字列をサニタイズする際によく利用されます。この関数は、以下のようなシナリオで特に役立ちます:
- フォームのフィールドからの入力を処理する際
- データベースに保存する文字列をクリーンアップする際
- ユーザーが提供した情報を表示する前にサニタイズする際
- テーマやプラグインからの設定値を安全に取得する際
- REST API リクエストのデータを処理する際
- カスタムフィールドのデータをクリーンアップする際
- サードパーティサービスから取得したデータを安全に表示する際
- メール送信の際にユーザー入力を処理する際
構文
string sanitize_text_field( string $str )
パラメータ
- $str (文字列): サニタイズしたい文字列。
戻り値
- サニタイズされた文字列。
関連する関数
使用可能なバージョン
- 早くから導入されており、現在もサポートされています。
コアファイルのパス
wp-includes/formatting.php
サンプルコード
サンプルコード1
$user_input = '<script>alert("Hello!");</script>';
$clean_input = sanitize_text_field($user_input);
echo $clean_input; // 結果は空文字列
説明: ユーザー入力に含まれるJavaScriptコードをサニタイズし、安全な文字列を取得します。この場合、スクリプトタグが削除され、結果は空になります。
サンプルコード2
$user_input = 'Hello, World! <b>Bold Text</b>';
$clean_input = sanitize_text_field($user_input);
echo $clean_input; // 結果: Hello, World! Bold Text
説明: ユーザーが提供したテキストからHTMLタグを除去し、サニタイズされた文字列を表示します。
サンプルコード3
$user_input = 'JohnDoe123';
$clean_input = sanitize_text_field($user_input);
if ($clean_input === $user_input) {
echo '入力は安全です';
}
説明: 特殊文字が含まれない場合、サニタイズされた文字列が元の文字列と同じであることを確認します。
サンプルコード4
$user_input = 'user@example.com';
$clean_input = sanitize_text_field($user_input);
echo $clean_input; // 結果: user@example.com
説明: メールアドレスとしての正当な文字列は、サニタイズされた結果も同じになります。
サンプルコード5
$input_array = array(
'name' => '<b>John</b>',
'age' => '25',
);
$clean_input_array = array_map('sanitize_text_field', $input_array);
print_r($clean_input_array); // 結果: Array ( [name] => John [age] => 25 )
説明: 配列内のすべての要素に対して sanitize_text_field
を適用し、サニタイズされた配列を作成します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | 〇 |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | 〇 |
after_setup_theme | 〇 |
set_current_user | 〇 |
init | 〇 |
register_sidebar | 〇 |
wp_loaded | 〇 |
send_headers | |
parse_query | 〇 |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | 〇 |
get_header | 〇 |
wp_head | 〇 |
非推奨または削除されたバージョン
- 現在非推奨または削除されたバージョンはありません。