adt / full-name-analyser
An analyser for obtaining first name, last name, titles before and after name, gender and vocative from a full name.
Installs: 7 129
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 13
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
- ext-intl: *
- adt/utils: ^2.0
- granam/czech-vocative: ^2.2
Requires (Dev)
- codeception/assert-throws: ^1.2
- codeception/codeception: ^4.2
- codeception/module-asserts: ^1.0.0
This package is auto-updated.
Last update: 2024-11-13 10:47:03 UTC
README
- parsuje zadaný řetězec na křestní jméno, příjmení a titul před jménem a za jménem, přičemž se nenechá rozhodit více křestními jmény / příjmeními / tituly najednou, přehozeným křestním jménem a příjmením nebo zadáním jména bez diakritiky
- snaží se detekovat pohlaví, přičemž kromě databáze křestních jmen (obsahující cca 25 000 křestních jmen z webu https://www.behindthename.com/, doplněná o česká méně tradiční jména z webu https://www.kalendar-online.cz/ a o další jména z praxe, poslední aktualizace 22. 11. 2022) bere v potaz i příjmení a unisex křestní jména (například Alex, Nikola a podobně)
- generuje vokativ, přičemž bere v potaz zadané tituly (pro "MUDr. Jan Novák" vygeneruje "doktore")
- zaměřuje se především na správnou funkčnost pro česká a slovenská jména
- snaží se detekovat vstup, který není jménem osoby
- nesnaží se o zbytečnou magii (převést řetězec bez diakritiky na řetězec s diakritikou za pomocí četnosti jména v Česku/Slovensku a podobně)
- 100% kódu pokrytého automatickými testy
Použití
$result = (new FullNameAnalyser('cs', 'CZ', \ADT\FullNameAnalyser\FullNameAnalyser::VOCATIVE_FORM_INFORMAL))->anylyse('prof. Ing. Tomáš Kudělka, Ph.D.'); $result->getTitleBefore(); // vrátí "prof. Ing." $result->getFirstName(); // vrátí "Tomáš" $result->getLastName(); // vrátí "Kudělka" $result->getTitleAfter(); // vrátí "Ph.D." $result->getGender(); // vrátí "male" (alternativně "female") $result->getVocative(); // vrátí "Tomáši" (alternativně "profesore")
Povolené jazyky: cs
, sk
Povolené země: CZ
, SK
Povolené formy oslovení: VOCATIVE_FORM_INFORMAL
, VOCATIVE_FORM_FORMAL
V případě, že znáte pohlaví, můžete jej předat jako druhý parametr do metody analyse
.