sanitize_user() WP 2.0.0

Очищає ім’я користувача (логін, username), видаляючи небезпечні символи.

Видаляє: html теги, ноти, html сутності та інші символи, що не входять до ASCII .

Основа для:
validate_username()

Хуки з функції

Повертає

Строку. Очищене ім’я користувача.

Використання

sanitize_user($username, $strict);
$username
(рядок) (обов’язковий)
Ім’я користувача, яке потрібно очистити.
$strict
(логічний)
Якщо встановити true, то нестандартні символи в імені будуть видалені. В іменах будуть доступні лише символи^
a-z 0-9 _ . - @. Зверніть увагу, що доступний
тільки англ. алфавіт .


Типово: false

Приклади

0

#1 Приклад роботи функції фільтрації імені користувача:

$string = 'Leonid-{?}[]<tag>рус_е`@';
echo sanitize_user($string); // Поверне: Leonid-{?}[]рус_ё`@

echo sanitize_user ($ string, 1); // Поверне: Leonid-_

список змін

З версії 2.0.0Введено.

Код sanitize_user() WP 6.0.2

function sanitize_user( $username, $strict = false ) {
	$raw_username = $username;
	$username = wp_strip_all_tags($username);
	$username = remove_accents($username);
	// Kill octets.
	$username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
	// Kill entities.
	$username = preg_replace( '/&.+?;/', '', $username );

	// If strict, зменшення до ASCII для max portability.
	if ( $strict ) {
		$username = preg_replace( '|[^a-z0-9 _.-@]|i', '', $username );
	}

	$ username = trim ($ username);
	// Consolidate contiguous whitespace.
	$username = preg_replace( '|s+|', ' ', $username );

	/**
	 * Filters a sanitized username string.
	 *
	 * @ Since 2.0.1
	 *
	 * @param string $username Sanitized username.
	 * @param string $raw_username username prior to sanitization.
	 * @param bool $strict Whether to limit sanitization to specific characters.
	 */
	return apply_filters( 'sanitize_user', $username, $raw_username, $strict);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *