sanitize_user()


WordPressのsanitize_user()関数は、ユーザー名をサニタイズするために使用されます。この関数は、ユーザー名に含まれる不正な文字を削除または変換し、安全な形式に整形します。

構文

sanitize_user( string $username, bool $strict = false );

引数の説明:

  • $username(string) — サニタイズするユーザー名。
  • $strict(bool) — 厳密なサニタイズを行うかどうか。trueに設定すると、ASCII文字以外の文字が削除されます。

例1: 基本的なユーザー名のサニタイズ

この例では、ユーザー名をサニタイズします。

$username = sanitize_user('user@name#123'); echo $username; // 出力: username123

例2: 厳密なサニタイズの使用

この例では、厳密なサニタイズを行い、ASCII文字以外を削除します。

$username = sanitize_user('ユーザー名123', true); echo $username; // 出力: 123

例3: ユーザー登録時のサニタイズ

ユーザー登録時にユーザー名をサニタイズします。

$username = sanitize_user($_POST['username']); wp_create_user($username, 'password', 'email@example.com');

例4: 既存ユーザー名のサニタイズ

既存のユーザー名をサニタイズして更新します。

$user_id = 1; $user = get_userdata($user_id); $new_username = sanitize_user($user->user_login); wp_update_user(array('ID' => $user_id, 'user_login' => $new_username));

例5: ユーザー名のバリデーション

ユーザー名が有効かどうかを確認します。

$username = 'user@name'; if (sanitize_user($username) === $username) { echo '有効なユーザー名です'; } else { echo '無効なユーザー名です'; }

例6: ユーザー名のスペース削除

ユーザー名からスペースを削除します。

$username = sanitize_user('user name'); echo $username; // 出力: username

例7: ユーザー名の大文字を小文字に変換

ユーザー名の大文字を小文字に変換します。

$username = sanitize_user('UserName'); echo $username; // 出力: username

例8: ユーザー名の特殊文字削除

ユーザー名から特殊文字を削除します。

$username = sanitize_user('user$name%'); echo $username; // 出力: username

注意点

  • ユーザー名のサニタイズは、セキュリティ上重要な処理です。必ずユーザー入力に対して適用してください。
  • 厳密なサニタイズを使用すると、ASCII文字以外の文字が削除されるため、多言語対応が必要な場合は注意が必要です。

関連機能: