我是初学者,所以这可能是一个简单的答案。我有这个功能:
function str_space_uppercase($string){
$tmp_string = $string;
preg_replace('/(?<! )(?<!^)(?<![A-Z])[A-Z]/', ' $0' , $tmp_string);
return $tmp_string;
}
当我使用它时(例如:)str_space_uppercase('ExampleSTring');
,该函数被正确调用,但它返回的值没有改变(returns:'ExampleSTring'
)。
现在显然如果我使用:
echo preg_replace('/(?<! )(?<!^)(?<![A-Z])[A-Z]/', ' $0' , 'ExampleSTring');
它回显正确的间隔字符串。
我究竟做错了什么?