Хотите разделить имя на имя и фамилию на основе пробела? Почему бы просто не сделать это:
$names = explode(" ",$name);
Если $name = "Hello World"
$names
будет таким массивом, что
$names[0] = "Hello"
$names[1] = "World"
Таким образом, если есть отчество, вы тоже можете его получить.
Вы можете сделать это следующим образом:
$names = explode(" ",$name);
if (count($names) == 1) //only first name
{
$first = $names[0];
$last = "";
}
else if (count($names) == 2) //only first and last name
{
$first = $names[0];
$last = $names[1];
}
else //one or more middle names were provided
{
$first = $names[0];
$last = $names[count($names)-1];
for($i=1;$i<count($names)-1;$i++)
$middle .= $names[$i] . ' ';
$middle = trim($middle);
}
Итак, если $name = "Hello Foo Bar World"
$first = "Hello"
$last = "World"
$middle = "Foo Bar"