sanitize_user

Очищает имя пользователя (логин, username), удаляя небезопасные символы.

Удаляет: html теги, ноты, html сущности и другие символы не входящие в ASCII.

Хуки из функции:
sanitize_user
Возвращает

строку — очищенное имя пользователя.

Использование

<?php sanitize_user( $username, $strict ) ?>
$username(строка) (обязательный)
Имя пользователя, которое нужно очистить.
По умолчанию: нет
$strict(логический)
Если установить в true, то будет запрещено использовать в именах, различные нестандартные символы. В именах буду доступны только алфавит (англ.), цифры и эти символы: _, пробел, ., , *.
По умолчанию: false

Примеры

1. Пример работы функции фильтрации имени пользователя:

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

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

Код из


wp-includes/formatting.php

WP 4.7.2

<?php
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 );
	$username = preg_replace( '/&.+?;/', '', $username ); // Kill entities

	// If strict, reduce to ASCII for 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 The username prior to sanitization.
	 * @param bool   $strict       Whether to limit the sanitization to specific characters. Default false.
	 */
	return apply_filters( 'sanitize_user', $username, $raw_username, $strict );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *