phabloraylan / human-name-parser
解析人名
1.0.0
2019-08-15 06:58 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpstan/phpstan-shim: ^0.11.2
- phpunit/phpunit: 7.*
This package is auto-updated.
Last update: 2024-09-15 18:43:33 UTC
README
注意:1.0 版本需要 PHP > 7.1。
描述
从 Jason Priem 的 HumanNameParser.php(原名为 @davidgorges)分支而来。它可以处理任意复杂度和各种古怪格式的人名,例如:
- J. Walter Weatherman
- de la Cruz, Ana M.
- James C. ('Jimmy') O'Dell, Jr.
- Dr. James C. ('Jimmy') O'Dell, Jr.
并解析出以下内容:
- 首字母(如“J.”在“J. Walter Weatherman”中)
- 名字(或名字中的首字母,如“R. Crumb”)
- 昵称(如“Jimmy”在“James C. ('Jimmy') O'Dell, Jr.”中)
- 中间名
- 姓氏(包括复合姓氏如“van der Sar'”和“Ortega y Gasset”),以及
- 后缀(如‘Jr.’,‘III’)
- 头衔(如‘Dr.’,‘Prof’)新
如何使用
Composer
composer require phabloraylan/human-name-parser
示例
use HumanNameParser\Parser; try { $nameparser = new Parser(); $name = $nameparser->parse("Alfonso Ribeiro"); echo "Hello " . $name->getFirstName(); echo "Hello " . $name->getLeadingInitial(); echo "Hello " . $name->getFirstName(); echo "Hello " . $name->getNickNames(); echo "Hello " . $name->getMiddleName(); echo "Hello " . $name->getLastName(); echo "Hello " . $name->getSuffix(); } catch(HumanNameParser\Exception\FirstNameNotFoundException $e) { // catch body } catch(HumanNameParser\Exception\LastNameNotFoundException $e) { // catch body }
测试
composer test