我正在开发一个应用程序,它接受一个人的全名然后处理它。例如,如果用户输入如下名称:
"AlanMichel"
然后结果必须是:
"Alan Michel"
我不知道如何在php中做到这一点。有人可以帮忙吗?
答案 0 :(得分:2)
你可以这样做:
$str = "AlanMichel";
$name = preg_split('/(?=[A-Z])/',$str);
echo implode( " ", $name );
这将导致:
Alan Michel
答案 1 :(得分:0)
试试这个
function splitAtUpperCase($s) {
return preg_split('/(?=[A-Z])/', $s, -1, PREG_SPLIT_NO_EMPTY);
}
$str = "AlanMichel";
$strArray = splitAtUpperCase($str));
echo $strArray[0]; //first name
echo $strArray[1]; //second name
<强>输出强>
Alan
Michel
如果您不需要数组本身,您可以使用空格预先校正大写字符(第一个除外)
echo preg_replace('/(?<!^)([A-Z])/', ' \\1', $str);