php,strtolower和mb_strtolower有什么区别?

2022-08-30 23:15:54

在 PHP 中,和 之间有什么区别?strtolowermb_strtolower

如果我想将提交的电子邮件地址转换为小写,我应该使用哪一个?有没有这样的电子邮件:Name@Domain-Test.com

如果有这样的电子邮件,我是否仍应将提交的电子邮件地址转换为小写?


答案 1

strtolower();不适用于抛光字符

<?php strtolower("mĄkA"); ?>

将返回: mĄka;

最佳解决方案 - 使用 mb_strtolower()

<?php mb_strtolower("mĄkA",'UTF-8'); ?> 

将返回: mąka

参见 PHP Manual 中的 strtolower() & mb_strtolower()


答案 2

strtolower和mb_strtolower有什么区别?

mb_* 函数适用于多字节字符串。手册说:

与 strtolower() 相比,'alphabetic' 由 Unicode 字符属性确定。因此,此函数的行为不受区域设置的影响,它可以转换具有“字母”属性的任何字符,例如A-元音变音符(Ä)。

-

有没有这样的电子邮件:Name@Domain-Test.com

是的,我想可能会有这样的电子邮件地址。我发现一般来说,电子邮件地址不区分大小写,所以我不会费心改变他们的大小写。


推荐