我有一个函数假设将所有句子的第一个字符变成大写,但由于某种原因,它没有对第一个句子的第一个字符执行此操作。为什么会发生这种情况,我该如何解决?
<?php
function ucAll($str) {
$str = preg_replace_callback('/([.!?])\s*(\w)/',
create_function('$matches', 'return strtoupper($matches[0]);'), $str);
return $str;
} //end of function ucAll($str)
$str = ucAll("first.second.third");
echo $str;
?>
结果:
first.Second.Third
预期结果:
First.Second.Third