使用preg_replace大写第一个单词的字母

Tho*_*dur 2 php preg-replace

我需要将总是小写的名称转换为大写.

例如john johnsson- >John Johnsson

但是也:

jonny-bart johnsson - > Jonny-Bart Johnsson

我如何使用PHP实现这一目标?

Gum*_*mbo 6

您还可以使用正则表达式:

preg_replace_callback('/\b\p{Ll}/', 'callback', $str)
Run Code Online (Sandbox Code Playgroud)

\b表示单词边界并\p{Ll}描述Unicode中的任何小写字母.preg_replace_callback将调用callback为每个匹配调用的函数,并将匹配替换为其返回值:

function callback($match) {
    return mb_strtoupper($match[0]);
}
Run Code Online (Sandbox Code Playgroud)

这里mb_strtoupper用于将匹配的小写字母转换为大写.