如何让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ä
字符串大写的哪个函数更快?
答案 0 :(得分:3)
此处的问题不是ucfirst()
strtolower()
。您必须使用mb_strtolower()
来获取小写字符串,例如
echo ucfirst(mb_strtolower($str));
//^^^^^^^^^^^^^^ See here
您还可以在comments的manual中找到ucfirst()
的多字节版本:
简单的多字节ucfirst():
<?php function my_mb_ucfirst($str) { $fc = mb_strtoupper(mb_substr($str, 0, 1)); return $fc.mb_substr($str, 1); }
来自手册comment
的plemieux代码