用大写字母在PHP中分隔字符串

时间:2018-01-17 03:53:31

标签: php html regex html5

我正在开发一个应用程序,它接受一个人的全名然后处理它。例如,如果用户输入如下名称:

"AlanMichel"

然后结果必须是:

"Alan Michel"

我不知道如何在php中做到这一点。有人可以帮忙吗?

2 个答案:

答案 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);