A human name parser written in PHP.
Based on Josh Fraser's PHP-Name-Parser. I attempted to rewrite the library to be more easily understandable (at least to myself). Nearly all the original features are maintained.
The algorithm first sanitizes a name string, and then breaks it into smaller pieces using a library of professional titles and suffixes.
Include in your project, or, install with Composer:
$ composer require chrisullyott/human-name-parser
use ChrisUllyott\HumanNameParser;
$parser = new HumanNameParser('Dr. martin luther king jr');
print_r($parser->parse());
Array
(
[full] => Dr. Martin Luther King Jr.
[salutation] => Dr.
[first] => Martin
[middle] => Luther
[last] => King
[suffix] => Jr.
)
Name | Sample output |
---|---|
getFullName() | Dr. Martin Luther King Jr. |
getSalutation() | Dr. |
getFirstName() | Martin |
getMiddleName() | Luther |
getLastName() | King |
getSuffix() | Jr. |