davidgorges/human-name-parser

Parses a human name

Maintainers

👁 dgorges

Package info

github.com/davidgorges/HumanNameParser.php

pkg:composer/davidgorges/human-name-parser

Statistics

Installs: 407 654

Dependents: 5

Suggesters: 0

Stars: 17

1.0.0 2019-03-10 15:43 UTC

Requires

  • php: >=7.1

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT eaa00aaac580fe47604ed7e9a52eda73dd45444c

  • David Gorges <david.gorges.woop@leaphub.de>
  • Jason Priem <jason.woop@jasonpriem.com>

README

👁 Image
👁 Latest Stable Version
👁 PHPStan Enabled

Note: The 1.0 release requires PHP > 7.1.

Description

Fork from HumanNameParser.php origninally by Jason Priem jason@jasonpriem.com. Takes human names of arbitrary complexity and various wacky formats like:

  • J. Walter Weatherman
  • de la Cruz, Ana M.
  • James C. ('Jimmy') O'Dell, Jr.
  • Dr. James C. ('Jimmy') O'Dell, Jr.

and parses out the:

  • leading initial (Like "J." in "J. Walter Weatherman")
  • first name (or first initial in a name like 'R. Crumb')
  • nicknames (like "Jimmy" in "James C. ('Jimmy') O'Dell, Jr.")
  • middle names
  • last name (including compound ones like "van der Sar' and "Ortega y Gasset"), and
  • suffix (like 'Jr.', 'III')
  • title (like 'Dr.', 'Prof') new

How to use

use HumanNameParser\Parser;

$nameparser = new Parser();
$name = $nameparser->parse("Alfonso Ribeiro");

echo "Hello " . $name->getFirstName();