phabloraylan/human-name-parser

1.0.0 2019-08-15 06:58 UTC

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