解析php中的全名?

Mat*_*iby 1 php parsing

full_name在mysql数据库中有一个字段,我需要解析名字和姓氏,因为我现在将数据传输到字段first_namelast_name字段

所以名字是这样的; 有些人有中间名,有些则没有:

James K. Dillon
Mark Holder
Tiffini lynn Jones
Run Code Online (Sandbox Code Playgroud)

我发现php函数strtok可能会有所帮助,但有没有人有其他想法?

usr*_*ΛΩΝ 5

嗯..识别名称可能相当困难,特别是如果用户容易出现错别字.

一个好的方法可能在100%的情况下不起作用(假设至少90%或者你所展示的所有少数例子)是将字符串分成一个数组并获得第一个和最后一个元素.

$name_parts = explode(' ', $name);
$first_name = $name_parts[0];
$last_name = $name_parts[sizeof($name_parts)-1];
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用explode而不是strtok


Mch*_*chl 5

简而言之,你几乎要注定失败.

有些人只有名字和姓氏: John Smith

有些人有第一,中,后: John Philip Smith

有些人有名字,但他们的姓氏由两部分组成:( John Smith Parker是的,有些人不使用连字符)

有些文化在最初之前放置了最后一个(即家族)名称: Kurosawa Akira

等等...