hariadi / siapa
一个简单的PHP库,用于解析复杂的马来语名字到它们的各个组成部分
v1.1.0
2022-02-22 08:45 UTC
Requires
- php: ^8.0|^8.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.6
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-22 14:30:07 UTC
README
马来语名字解析器:一个简单的脚本,用于解析复杂的马来语名字到它们的各个组成部分。
- 称呼
- 名
- 姓
- 性别
示例用法
$siapa = Siapa::name("Dato' Dr. Ir Hj. Hariadi Bin Hinta"); echo $siapa->salutation(); // Dato' Dr. Ir Hj. echo $siapa->first(); // Hariadi echo $siapa->last(); // Bin Hinta echo $siapa->gender(); // M
安装
如果你使用Composer来管理依赖项,你可以在你的composer.json文件中包含以下内容
`composer require hariadi/siapa`
然后,在运行composer update
或php composer.phar update
之后,你可以使用Composer的自动加载来加载该类
require 'vendor/autoload.php';
否则,你可以直接要求该文件
require_once 'path/to/Siapa/src/Siapa.php';
面向对象和过程式
该库提供面向对象的Hariadi\Siapa
方法链。前者是一个例子
use Hariadi\Siapa; echo Siapa::name('Hariadi Hinta', 'UTF-8')->first(); // Hariadi
方法
注意:如果没有给出$encoding
,它默认为mb_internal_encoding()
。
salutation
$siapa->salutation()
Siapa::salutation()
从全名返回称呼。
Siapa::name('Datuk Dr. Ir. Hariadi Hinta', 'UTF-8')->salutation(); // Datuk Dr. Ir.
givenName
Siapa::givenName()
返回不带称呼的第一和姓氏的组合,可选地带有或没有中间名。
Siapa::name('Dato\' Hariadi Bin Hinta', 'UTF-8')->givenName(false); // Hariadi Bin Hinta
first
Siapa::first()
返回名字。
Siapa::name('Hariadi Hinta', 'UTF-8')->first(); // Hariadi
last
Siapa::last()
返回姓氏。
Siapa::name('Hariadi Hinta', 'UTF-8')->last(); // Hinta
gender
Siapa::gender(boolean $short)
返回名字的性别。默认参数为true
表示短性别(M表示男性,F表示女性)。
Siapa::name('Hariadi Hinta', 'UTF-8')->gender(false); // Male
检测马来语名字性别的算法
- 默认性别为男性
- 检查
Binti
、Bte.
、Bte
、Puan
、Pn.
、Bt.
、Bt
、A/P
是否存在于名字中 - 如果没有找到,然后我们检查称呼,如果
Hajah
、Hajjah
、Hjh.
、Puan
、Pn.
、Cik
存在。 - 如果没有找到,然后我们检查库中的常见女性马来语名字在
female.txt
测试
- 克隆存储库:git clone https://github.com/hariadi/Siapa.git
- 在项目目录中,可以使用
phpunit
运行测试
许可证
在MIT许可证下发布 - 有关详细信息,请参阅LICENSE.txt
。