tuqqu / gender-detector
从名字获取性别
v0.5.2
2023-09-04 20:50 UTC
Requires
- php: ^8.1
- ext-mbstring: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.23
- phpunit/phpunit: ^10.3
- vimeo/psalm: ^5.14
README
使用PHP获取与名字最可能关联的性别。
此库使用来自由Jörg Michael创建的gender.c
项目的数据(详情)。
安装
使用Composer安装
composer require tuqqu/gender-detector
使用方法
使用方法简单直接
$detector = new GenderDetector\GenderDetector(); $detector->getGender('Thomas'); // Gender::Male $detector->getGender('Avery'); // Gender::Unisex
完全支持I18N
$detector->getGender('Geirþrúður'); // Gender::Female
您也可以指定一个国家
$detector->getGender('Robin'); // Gender::MostlyMale $detector->getGender('Robin', 'US'); // Gender::MostlyFemale $detector->getGender('Robin', 'FR'); // Gender::Male $detector->getGender('Robin', 'IE'); // Gender::Unisex
国家代码是不区分大小写的ISO 3166-1 alpha-2代码。或者,您可以使用枚举值;值和代码的完整列表可以在这里找到。
所有可能的性别值的完整列表是
enum Gender { case Male; case MostlyMale; case Female; case MostlyFemale; case Unisex; }
对于未知名字,它将返回null
。
如果您有替代数据文件,可以将它作为第一个参数传递给GenderDetector
构造函数。此外,您可以使用addDictionaryFile(string $path)
方法添加新的词典文件。
$detector = new GenderDetector('custom_file_path/dict.txt'); $detector->addDictionaryFile('custom_file_path/another_dict.txt');
请注意,每次GenderDetector
实例化都会触发文件解析,因此您可能希望避免两次读取相同的文件。
许可证
GenderDetector
许可协议为MIT许可证。
数据文件data/nam_dict.txt
许可协议为GNU自由文档许可证。