用于多字节字符编码的 ucfirst() 函数
我问过 strtolower
函数.但是当使用外来字符不会将它们转换为大写,所以我必须使用:
I've asked about strtolower
function. But when using foreign characters it doesn't convert them into uppercase, so I must use:
mb_strtolower($a,"utf8");
但是如果我想使用 ucfirst()
函数,我该怎么办?没找到类似的功能,可以设置编码类型.
But what can I do, if I want to use ucfirst()
function? I haven't found any similar function, where I can set encoding type.
推荐答案
没有 mb_ucfirst
函数,正如您已经注意到的.你可以用两个 mb_substr
伪造一个 mb_ucfirst
:
There is no mb_ucfirst
function, as you've already noticed. You can fake a mb_ucfirst
with two mb_substr
:
function mb_ucfirst($string, $encoding)
{
$firstChar = mb_substr($string, 0, 1, $encoding);
$then = mb_substr($string, 1, null, $encoding);
return mb_strtoupper($firstChar, $encoding) . $then;
}
相关文章