nedka / vietnamese
The Vietnamese toolkit for PHP.
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/nedka/vietnamese
Requires
- php: >=8.0
- ext-mbstring: *
README
The Vietnamese toolkit for PHP.
Requirements
- PHP 8.0+.
Installation
Require this package in your composer.json:
composer require nedka/vietnamese
composer install
Import the package:
use NEDKA\Vietnamese\Vietnamese;
Usage
Format names:
Vietnamese::format('ViỆt NaM')
Result: Việt Nam
Remove all accents:
Vietnamese::clean('Việt Nam')
Result: Viet Nam
Convert into NCR Decimal:
Vietnamese::clean('Việt Nam', 'ncr_decimal')
Result: Việt Nam
Run all available methods for correcting spelling errors:
Vietnamese::correct('THI tUổi KỈ Tị')
Result: Thi tuổi Kỷ Tỵ
Correct wrong accent placements:
Vietnamese::correctAccent('Vịêt Nam')
Result: Việt Nam
Correct wrong cases between "i" and "y":
Vietnamese::correctIY('Thi tuổi Kỉ Tị')
Result: Thi tuổi Kỷ Tỵ
Sorting words:
Sorting by values in a string with delimiter:
Vietnamese::sort('Ă, A, Â, À, Á')
Result: A, Á, À, Ă, Â
Sorting by values in a simple array:
Vietnamese::sort(['Ă', 'A', 'Â', 'À', 'Á'])
Result: ['A', 'Á', 'À', 'Ă', 'Â']
Sorting a two-dimensional array by multiple keys in order:
$array = [ ['name' => 'Cần Thơ', 'valid_date' => '2004-01-01'], ['name' => 'Cà Mau', 'valid_date' => '1997-01-01'], ['name' => 'Cần Thơ', 'valid_date' => '1992-01-01'] ]; $array = Vietnamese::sort($array, ['name', 'valid_date']);
Result:
array:3 [ 0 => array:2 [ "name" => "Cà Mau" "valid_date" => "1997-01-01" ] 1 => array:2 [ "name" => "Cần Thơ" "valid_date" => "1992-01-01" ] 2 => array:2 [ "name" => "Cần Thơ" "valid_date" => "2004-01-01" ] ]
Sorting people names:
Sorting by values in a string with delimiter:
Vietnamese::sortPeopleName('Nguyễn Văn Đảnh, Nguyễn VĂN Đàn, nguYỄn Văn Đàng, NGUYỄN Văn Đang, nguyễn anh đang')
Result: Nguyễn Anh Đang, Nguyễn Văn Đang, Nguyễn Văn Đàn, Nguyễn Văn Đàng, Nguyễn Văn Đảnh
Sorting by values in a simple array:
Vietnamese::sortPeopleName(['Nguyễn Văn Đảnh', 'Nguyễn VĂN Đàn', 'nguYỄn Văn Đàng', 'NGUYỄN Văn Đang', 'nguyễn anh đang'])
Result: ['Nguyễn Anh Đang', 'Nguyễn Văn Đang', 'Nguyễn Văn Đàn', 'Nguyễn Văn Đàng', 'Nguyễn Văn Đảnh']
Sorting a two-dimensional array by multiple keys in order:
$array = [ ['name' => 'Nguyễn Văn Đảnh', 'birth_date' => '1999-01-30'], ['name' => 'Nguyễn VĂN Đàn', 'birth_date' => '1996-01-30'], ['name' => 'Nguyễn Văn Đảnh', 'birth_date' => '1997-01-30'], ['name' => 'NGUYỄN Văn Đang', 'birth_date' => '1995-01-30'], ['name' => 'Nguyễn VĂN Đàn', 'birth_date' => '1994-01-30'] ]; $array = Vietnamese::sortPeopleName($array, ['name', 'birth_date']);
Result:
array:5 [ 0 => array:2 [ "name" => "Nguyễn Văn Đang" "birth_date" => "1995-01-30" ] 1 => array:2 [ "name" => "Nguyễn Văn Đàn" "birth_date" => "1994-01-30" ] 2 => array:2 [ "name" => "Nguyễn Văn Đàn" "birth_date" => "1996-01-30" ] 3 => array:2 [ "name" => "Nguyễn Văn Đảnh" "birth_date" => "1997-01-30" ] 4 => array:2 [ "name" => "Nguyễn Văn Đảnh" "birth_date" => "1999-01-30" ] ]
Check a character in the Vietnamese alphabet:
Vietnamese::checkChar('w')
Result: false
Scan and detect incorrect words in Vietnamese:
Vietnamese::scan('Xứ Wales thắng Nga, đứng nhất bảng B')
Result: ['Wales']
Otherwise, get correct words:
Vietnamese::scan('Xứ Wales thắng Nga, đứng nhất bảng B', false)
Result: ['Xứ', 'thắng', 'Nga', 'đứng', 'nhất', 'bảng', 'B']
Print the way to speak a Vietnamese text string:
Vietnamese::speak('Việt Nam')
Result: i ê tờ iêt, vờ iêt viêt nặng /việt/; a mờ am, nờ am /nam/; /việt nam/
Convert number to text:
Vietnamese::speak(1452369)
Result: một triệu bốn trăm năm mươi hai nghìn ba trăm sáu mươi chín
License
Copyright (c) NEDKA. All rights reserved.
Licensed under the MIT License.