在哪里可以找到有关用户名中允许哪些字符及其原因的文档?

时间:2011-07-05 作者:Purcell

我希望能够在用户名中使用空格,但这似乎不可能。法典或其他地方是否有文字说明允许使用哪些字符以及为什么限制使用该字符集,还是仅限于字母并将其吸收?

如果我想让用户使用不带空格的用户名以外的其他东西,那么我唯一的实际选择是允许用户使用其电子邮件地址登录的插件,但在创建帐户时仍然需要仅使用alpha用户名吗?

哦,我在一个WPMU/网络站点上。

2 个回复
最合适的回答,由SO网友:Otto 整理而成

您可以在用户名中使用空格,没有问题。wordpress上的几个用户。org的用户名中有空格。

严格模式仅允许以下字符:a-z0-9<space>_.\\-@

但是,WP不会默认为严格模式。

现在,多站点有不同的限制,它可能会剥夺那里的空间。这是因为用户名用于创建独立的博客,以及在多站点安装上创建独立的博客。

SO网友:mike23

我不认为有任何关于这方面的官方文件,但你可以看看sanitize_user 中的函数wp-includes/formatting.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 );

    return apply_filters( \'sanitize_user\', $username, $raw_username, $strict );
}
您可以挂接到该函数中,并用自己的行为覆盖默认行为。

结束

相关推荐

WordPress MultiSite。可以用域代替子域吗?

我是多站点新手。这是一个简单的问题。我知道WordPress multisite可以为子域设置。是否可以将域与子域一起使用?我在谷歌上搜索过,但并没有得到很好的结果。也许我用错了关键词。so i can use a single wordpress installation for:领域com公司第1款。领域com公司第2款。领域com公司实例com公司示例2。com公司第1款。示例2 COM希望你得到它。提前谢谢!