24,923
社区成员
发帖
与我相关
我的任务
分享
$upper_string = preg_replace("!(^|[^\p{L}'])([\p{Ll}])!eS" . Smarty::$_UTF8_MODIFIER, "stripslashes('\\1').ucfirst(stripslashes('\\2'))", $string);
preg_replace_callback("!(^|[^\p{L}'])([\p{Ll}])!S".Smarty::$_UTF8_MODIFIER, function($s){ $upper_string=stripslashes($s[1]).ucfirst(stripslashes($s[2])); }, $string);
楼主,试一下这样行不行,我没测试,不过应该是这个意思,去掉e的验证规则,第二个参数是回调方法,在里面执行要实现的操作