hariadi/siapa

一个简单的PHP库,用于解析复杂的马来语名字到它们的各个组成部分

v1.1.0 2022-02-22 08:45 UTC

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 updatephp 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

检测马来语名字性别的算法

  • 默认性别为男性
  • 检查BintiBte.BtePuanPn.Bt.BtA/P是否存在于名字中
  • 如果没有找到,然后我们检查称呼,如果HajahHajjahHjh.PuanPn.Cik存在。
  • 如果没有找到,然后我们检查库中的常见女性马来语名字在female.txt

测试

  1. 克隆存储库:git clone https://github.com/hariadi/Siapa.git
  2. 在项目目录中,可以使用phpunit运行测试

许可证

在MIT许可证下发布 - 有关详细信息,请参阅LICENSE.txt