如何获得姓氏第一名inital

AAA*_*AAA 4 php strip

可能重复:正则
表达式 - 返回名字和姓氏

嗨,

我有一个存储在一个字段中的用户的全名.我怎样才能获得完整的名字和姓氏.这就是我现在正在使用的:

 $first = substr($full_n, 0, strpos($full_n,' '));  
Run Code Online (Sandbox Code Playgroud)

Kin*_*nch 5

list ($first, $last) = explode(' ', $full_n, 2);
echo "$first {$last[0]}.";
Run Code Online (Sandbox Code Playgroud)

与所有其他解决方案一样,也不会使用两个以上的名称.如果你想用它做更多的事情,你应该分开保存所有(名字,中间名,姓氏......),而不仅仅是显示.

更新:

灵感来自佩卡(问题的评论;))

$names = explode(' ', $full_n);
$first = array_shift($names);
$last = array_pop($names);
echo "$first {$last[0]}.";
Run Code Online (Sandbox Code Playgroud)

这适用于任意(> = 2)个名称,但只显示第一个(完整)和最后一个(缩短).像"施密特 - 穆勒"这样的东西看起来很好奇("S.").