我有一个大小写不正确的字符串,如下所示:
$str = "tHis iS a StRinG thAt NeEds ProPer CapiTilization";
$newStr = ucfirst($str);
echo $newStr;
我如何能够将每个单词的第一个字母大写并将错误大写的字母小写?我需要字符串完全是标题大小写。
我知道我可以更改为降低然后使用ucwords()
,但是有没有更短的方法可以做到这一点?
我有一个大小写不正确的字符串,如下所示:
$str = "tHis iS a StRinG thAt NeEds ProPer CapiTilization";
$newStr = ucfirst($str);
echo $newStr;
我如何能够将每个单词的第一个字母大写并将错误大写的字母小写?我需要字符串完全是标题大小写。
我知道我可以更改为降低然后使用ucwords()
,但是有没有更短的方法可以做到这一点?
我如何能够将每个单词的第一个字母大写并将错误大写的字母小写?
ucwords()
将大写每个单词的第一个字母。您可以将其与strtolower()
第一个小写所有内容结合使用。
例如:
ucwords(strtolower('HELLO WORLD!')); // Hello World!
我已经提出了一个较早的问题mb_convert_case()
,但是该问题中的示例文本相当乏味。
有一个本地函数可以对字符串中的多个单词执行标题大小写,并且它是多字节安全的。这是一个很好的解决方案,因为在将所有单词的前导字母变为大写之前,您无需将字符串准备为全部小写。
代码:(演示)
$string = "tHis iS a StRinG thAt NeEds ProPer CapiTilization";
echo mb_convert_case($string, MB_CASE_TITLE, 'UTF-8');
输出:
This Is A String That Needs Proper Capitilization
Laravel 还提供了一个可以使用的辅助方法:title()
.
use Illuminate\Support\Str;
$converted = Str::of('a nice title uses the correct case')->title();
// A Nice Title Uses The Correct Case
来源:https ://laravel.com/docs/8.x/helpers#method-fluent-str-title
是的,您可以使用两个函数ucwords()和strtolower()
<?php
$str = "tHis iS a StRinG thAt NeEds ProPer CapiTilization";
$newStr = ucwords(strtolower($str));
echo $newStr;
?>
解释:
strtolower()
将使您的所有字符串小写。
现在,应用ucwords()
结果字符串将使每个世界首都的第一个字母产生所需的输出。