文章目录
本文最后更新于 2022-11-17,已超过 365 天未更新,内容可能已失效。

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

清理用户名,去掉不安全的字符。
Sanitizes a username, stripping out unsafe characters.


说明

删除标记、八位字节、实体,如果启用了strict,则只保留字母数字、u、空格、.、-、@。清理后,它将用户名、原始用户名(参数中的用户名)和$strict值作为“sanitize_user”过滤器的参数。


参数

参数类型说明
$username(string)要清除的用户名。
$strict(bool)如果设置,则将$username限制为特定字符。

源码

/**
 * Sanitizes a username, stripping out unsafe characters.
 *
 * Removes tags, octets, entities, and if strict is enabled, will only keep
 * alphanumeric, _, space, ., -, @. After sanitizing, it passes the username,
 * raw username (the username in the parameter), and the value of $strict as
 * parameters for the 'sanitize_user' filter.
 *
 * @since 2.0.0
 *
 * @param string $username The username to be sanitized.
 * @param bool   $strict   If set limits $username to specific characters. Default false.
 * @return string The sanitized username, after passing through filters.
 */
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 );
 
    /**
     * Filter 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 );
}

更新版本源码位置使用被使用
2.0.0wp-includes/formatting.php185

 

CC 许可协议
署名-非商业性使用-相同方式共享 4.0 国际 了解协议
文章链接:https://zptheme.com/5471.html
本文作者:子佩·来源:子佩工作室

除非注明,子佩工作室 文章均为原创,转载请以链接形式标明本文地址。

相关推荐

登录后即可发表评论

社交账号登录

全部评论 (0)