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许可证下发布。