jsor / string-formatter
个人姓名、地址和电话号码的本地化格式化。
v2.0.0
2022-10-17 06:33 UTC
Requires
- php: ^8.0
- jsor/locale-data: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.12
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.29
README
个人姓名、地址和电话号码的本地化格式化。
注意:目前,仅提供NameFormatter。地址和电话格式化器将在后续提供。
安装
使用Composer安装最新版本。
composer require jsor/string-formatter
查看Packagist页面获取所有可用版本。
NameFormatter
NameFormatter通过给定的姓名部分按地区格式化个人姓名的适当表示。
use Jsor\NameFormatter; $nameParts = [ 'given_name' => 'John', 'family_name' => 'Doe', 'salutation' => 2 // name_mr ]; $enUsFormatter = new NameFormatter('en_US'); echo $enUsFormatter->format($nameParts)."\n"; $deDeFormatter = new NameFormatter('de_DE'); echo $deDeFormatter->format($nameParts)."\n"; $zhCnFormatter = new NameFormatter('zh_CN'); echo $zhCnFormatter->format($nameParts)."\n";
以上示例将输出
Mr. John Doe
Herr John Doe
Doe John 先生
可以将自定义模式作为构造函数的第二个参数传递。
use Jsor\NameFormatter; $formatter = new NameFormatter('en_US', '%d%t%g%t%m%t%f'); echo $formatter->format([ 'given_name' => 'John', 'family_name' => 'Doe', 'salutation' => 'Mr.', ]);
以上示例将输出
Mr. John Doe
模式
模式参数可以包含任何字符和字段描述符的组合。
以下字段描述符被支持。
%f姓氏。%F大写的姓氏。%g第一名给定的名字。%G第一名给定的首字母。%l用拉丁字母表示的第一名给定的名字。在某些文化中,例如在台湾,习惯上也用拉丁字母书写名字,尽管名字的其他部分用其他书写系统。%o其他较短的姓名,例如“Bill”。%m其他给定的名字。%M其他给定的名字的缩写。%p职业。%d问候语,支持FDCC-sets约定,1代表name_gen,2代表name_mr,3代表name_mrs,4代表name_miss,5代表name_ms。%s全称问候语,例如“博士”。%S简称问候语,例如“先生”或“博士”。%t如果前面的字段描述符生成了空字符串,则为空字符串,否则为空格。
值
传递给format()的数组参数可以定义每个字段描述符的值。键可以是描述符字符或命名键。
以下键被支持。
family_name、family_names或f(用于%f)family_name_in_uppercase、family_names_in_uppercase或F(用于%F)given_name、given_names或g(用于%g)given_initial、given_initials或G(用于%G)given_name_with_latin_letters、given_names_with_latin_letters或l(用于%l)other_shorter_name、other_shorter_names或o(用于%o)additional_given_name、additional_given_names或m(用于%m)initials_for_additional_given_name、initials_for_additional_given_names或M(用于%M)profession、professions或p(用于%p)salutation、salutations或d(用于%d)full_salutation、full_salutations或s(用于%s)abbreviated_salutation、abbreviated_salutations或S(用于%S)
许可证
版权(c)2015-2022 Jan Sorgalla。在MIT许可证下发布。