hariadi/siapa
Composer 安装命令:
composer require hariadi/siapa
包简介
A simple PHP library for parsing complex Malay names into their individual components
README 文档
README
Malay Name Parser A smart parser for extracting components from complex Malay names:
- ✅ Salutation
- ✅ First Name
- ✅ Last Name (excluding patronyms like "bin"/"binti")
- ✅ Gender detection
💡 Example Usage
use Hariadi\Siapa\Siapa; $siapa = Siapa::name("Dato' Dr. Ir. Hj. Hariadi Bin Hinta"); echo $siapa->salutation(); // Dato' Dr. Ir. Hj. echo $siapa->first(); // Hariadi echo $siapa->last(); // Hinta echo $siapa->gender(); // M
📦 Install
Install via Composer:
composer require hariadi/siapa
Then include the autoloader:
require 'vendor/autoload.php';
Alternatively, require the class manually:
require_once 'path/to/Siapa/src/Siapa.php';
🧱 Object-Oriented Usage
use Hariadi\Siapa\Siapa; $siapa = Siapa::name('Hariadi Hinta', 'UTF-8'); echo $siapa->first(); // Hariadi
🧪 Methods
If
$encodingis not provided, it defaults tomb_internal_encoding().
salutation()
Returns the full salutation, if detected.
Siapa::name('Datuk Dr. Ir. Hariadi Hinta')->salutation(); // Datuk Dr. Ir.
givenName(bool $withMiddle = false)
Returns full name without salutation. Optionally excludes middle markers (e.g., bin, binti).
Siapa::name("Dato' Hariadi Bin Hinta")->givenName(); // Hariadi Hinta Siapa::name("Dato' Hariadi Bin Hinta")->givenName(true); // Hariadi Bin Hinta
first()
Returns the detected first name:
Siapa::name('Hariadi Hinta')->first(); // Hariadi
last()
Returns the last name (without bin/binti):
Siapa::name('Hariadi Bin Hinta')->last(); // Hinta
gender(bool $short = true)
Detects gender. Returns 'M'/'F' or 'Male'/'Female'.
Siapa::name('Pn. Nurul Hidayah')->gender(); // F Siapa::name('Pn. Nurul Hidayah')->gender(false); // Female
Gender Detection Heuristics
-
Defaults to Male
-
If last name contains any of:
Binti,Bte,A/P,Pn.,Puan,Ciketc.
-
If salutation contains female honorifics
-
If first name matches any name in
female.txt
✅ Tests
Run tests using PHPUnit:
git clone https://github.com/hariadi/Siapa.git
cd Siapa
vendor/bin/phpunit
📄 License
Released under the MIT License.
统计信息
- 总下载量: 1.03k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-06-18