用于多字节字符编码的 ucfirst() 函数

2022-01-07 00:00:00 character-encoding php

我问过 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;
}

相关文章