取两个字符串:
"o'sulLivAn"
"doUble-baRrel"
字符串
预期结果:
"O'Sullivan"
"Double-Barrel"
型
我原以为ucwords(strtolower($str))
可以做到这一点,但它将字符串视为单个单词。
我知道我可以explode
,或者更确切地说,preg_split
字符串,然后将各部分大写,然后重新组合在一起,但我想知道是否有更好的方法?
通常在PHP和类似的东西中,往往会有一个函数隐藏在某个地方,它很有用,但并不明显或众所周知。
3条答案
按热度按时间rjee0c151#
你可以在这里使用preg_replace_callback():
字符串
用法示例:
型
演示:https://3v4l.org/l8BKF
输出:
型
参考文件:
gfttwv5a2#
没有PHP函数可以做到这一点。
这里有一个没有循环的一行程序(有点)
字符串
u59ebvdq3#
如果你不介意
e
修饰符(2016年已弃用):字符串