我想把一个字符串变成首字母大写:
¿"hello"?
我希望您的函数能够返回结果。
¿"Hello"?
我尝试使用正则表达式和 preg_match,但都没有成功...
这是我之前的问题,与此相关: "preg_match 匹配两个字符,当它只应该匹配一个"
感谢大家!
我想把一个字符串变成首字母大写:
¿"hello"?
¿"Hello"?
我尝试使用正则表达式和 preg_match,但都没有成功...
这是我之前的问题,与此相关: "preg_match 匹配两个字符,当它只应该匹配一个"
感谢大家!
使用 preg_replace_callback 函数,如上所述,但同时兼容 Unicode:
echo preg_replace_callback('/^(\PL*)(\pL)/u', function($matches){
return $matches[1] . mb_strtoupper($matches[2],'UTF-8');
}, '¿"éllo"?'),"\n";
输出:
¿"Éllo"?
您可以使用preg_replace_callback来完成:
preg_replace_callback('/^([^a-z]*)([a-z])/i', function($matches){
return $matches[1] . strtoupper($matches[2]);
}, '¿"hello"?');
// ¿"Hello"?
尝试使用ucfirst
函数http://php.net/manual/zh/function.ucfirst.php
这样的任务不需要正则表达式
示例
$foo = 'hello world!';
$foo = ucfirst($foo); // Hello world!