在PHP中分割名字的最佳方式

前端之家收集整理的这篇文章主要介绍了在PHP中分割名字的最佳方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到一个NAME字段,通常格式如下:
FirstName LastName

然而,我也有偶尔的名称是任何这些格式(带前缀或后缀):

Mr. First Last
First Last Jr.

人们认为在PHP中将其分为FIRST / LAST名称变量的安全方法是什么?我不能真正想出任何一切都会在所有时间工作的东西…

正则表达式是处理这样的事情的最佳方法.
尝试这个 – 它拉出前缀,名字,姓氏和后缀:
$array = array(
    'FirstName LastName','Mr. First Last','First Last Jr.','Shaqueal O’neal','D’angelo Hall',);

foreach ($array as $name)
{
    $results = array();
    echo $name;
    preg_match('#^(\w+\.)?\s*([\'\’\w]+)\s+([\'\’\w]+)\s*(\w+\.?)?$#',$name,$results);
print_r($results);
}

结果是这样的:

FirstName LastName
Array
(
    [0] => FirstName LastName
    [1] => 
    [2] => FirstName
    [3] => LastName
)
Mr. First Last
Array
(
    [0] => Mr. First Last
    [1] => Mr.
    [2] => First
    [3] => Last
)
First Last Jr.
Array
(
    [0] => First Last Jr.
    [1] => 
    [2] => First
    [3] => Last
    [4] => Jr.
)
shaqueal o’neal
Array
(
    [0] => shaqueal o’neal
    [1] => 
    [2] => shaqueal
    [3] => o’neal
)
d’angelo hall
Array
(
    [0] => d’angelo hall
    [1] => 
    [2] => d’angelo
    [3] => hall
)

等等…

所以在数组中$array [0]包含整个字符串. $array [2]始终是名字,$array [3]始终是名字.$array [1]是前缀,$array [4](不总是设置)是后缀.我还添加代码来处理“和”,如Shaqueal O’neal和D’angelo Hall.

原文链接:https://www.f2er.com/php/140099.html

猜你在找的PHP相关文章