我full_name
在mysql数据库中有一个字段,我需要解析名字和姓氏,因为我现在将数据传输到字段first_name
和last_name
字段
所以名字是这样的; 有些人有中间名,有些则没有:
James K. Dillon
Mark Holder
Tiffini lynn Jones
Run Code Online (Sandbox Code Playgroud)
我发现php函数strtok可能会有所帮助,但有没有人有其他想法?
嗯..识别名称可能相当困难,特别是如果用户容易出现错别字.
一个好的方法可能在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
简而言之,你几乎要注定失败.
有些人只有名字和姓氏: John Smith
有些人有第一,中,后: John Philip Smith
有些人有名字,但他们的姓氏由两部分组成:( John Smith Parker
是的,有些人不使用连字符)
有些文化在最初之前放置了最后一个(即家族)名称: Kurosawa Akira
等等...