0

如何开始ucfirst()使用斯堪的纳维亚字符?

$str = "SÄKYLÄ";
echo ucfirst(strtolower($str)); //prints SÄkylÄ

一种可能性是使用mb_convert_case(),但我想知道这是否可以使用ucfirst()

$str = "SÄKYLÄ";
echo mb_convert_case($str, MB_CASE_TITLE, "UTF-8"); //prints Säkylä

字符串大写哪个函数更快?

4

1 回答 1

3

你的问题不是ucfirst()strtolower()。您必须使用mb_strtolower(), 以小写形式获取字符串,例如

echo ucfirst(mb_strtolower($str));
           //^^^^^^^^^^^^^^ See here

您还可以在手册ucfirst()评论中找到多字节版本:

简单的多字节 ucfirst():

<?php

   function my_mb_ucfirst($str) {
       $fc = mb_strtoupper(mb_substr($str, 0, 1));
       return $fc.mb_substr($str, 1);
   }

来自手册注释的 plemieux 代码

于 2015-08-04T13:33:51.550 回答