ucwords()在php 8.3中仍只以空格为分隔符将单词首字母大写,不处理连字符等符号,也不自动转小写;需预处理或结合strtolower()使用。

ucwords() 在 PHP 8.3 中用法和之前版本一致,它会将字符串中每个单词的首字母转为大写,其余字母保持原样(**不会自动转小写**)。
基本用法
直接传入字符串即可:
示例:$str = "hello world";<br>echo ucwords($str); // 输出:Hello World
注意空格与分隔符
ucwords() 只识别空格作为单词分隔符,对其他符号(如连字符、下划线、点号等)不敏感:
-
ucwords("php-is-great")→"Php-is-great"(只处理第一个“php”,后面仍为小写) -
ucwords("user_name")→"User_name"(下划线后不触发大写)
想支持更多分隔符?需手动预处理
比如要让连字符、下划线、点号也触发首字母大写,可先用 preg_replace_callback 或 str_replace + ucwords 组合:
常见做法(兼容多种分隔符):$str = "php-is_great.example";<br>// 替换非字母数字的分隔符为空格,再 ucwords,最后还原空格(可选)<br>$temp = preg_replace('/[^a-zA-Z0-9]+/', ' ', $str);<br>$result = ucwords($temp);<br>echo $result; // 输出:Php Is Great Example
大小写混合时要小心
ucwords 不改变已有大写字母的位置,也不强制其余字母小写:
-
ucwords("HELLO world")→"HELLO World"("HELLO" 全大写不变) - 如需统一格式,建议先用
strtolower()再调用:ucwords(strtolower("HELLO world"))→"Hello World"
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











