我想大写一个字符串,如:
¿"hello"?
我希望我的功能返回
¿"Hello"?
我已经尝试使用正则表达式和 preg_match,但没有运气......这是我之前的问题,与这个问题相关: “preg_match 匹配两个字符,而它应该只匹配一个字符”
谢谢你们!
我想大写一个字符串,如:
¿"hello"?
我希望我的功能返回
¿"Hello"?
我已经尝试使用正则表达式和 preg_match,但没有运气......这是我之前的问题,与这个问题相关: “preg_match 匹配两个字符,而它应该只匹配一个字符”
谢谢你们!
使用 preg_replace_callback 如上所述 ascii-time,但 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/en/function.ucfirst.php
此类任务不需要正则表达式
样本
$foo = 'hello world!';
$foo = ucfirst($foo); // Hello world!