Download the PHP package ysp/pinyin without Composer
On this page you can find all versions of the php package ysp/pinyin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pinyin
来源
这个包来源于:https://github.com/overtrue/pinyin ,为啥要做同个功能的轮子呢?因为最新的源包(^5.0版本)不支持php8以前的版本,我有些老项目,升级比较麻烦,因此把代码稍微改了一下,以便php7.1以后的版本都能用。 如果你的php版本在php8以上,请使用 https://github.com/overtrue/pinyin ,以便获取最新的更新,虽然我的这个包也能在php8的环境下跑,但是性能肯定没有官方的那么好,因为jit原因。
如果遇到不兼容的问题,直接提issue,我会尽量在24小时之内处理完毕。
主要改动
-- str_contains :在 PHP 7.1 中,str_contains 函数是不可用的,因为它是在 PHP 8.0 中引入的。 -- fn ($pinyin) :fn 关键字,因为匿名函数(Arrow Function)是在 PHP 7.4 中引入的。
Pinyin
:cn: 基于 mozillazg/pinyin-data 词典的中文转拼音工具,更准确的支持多音字的汉字转拼音解决方案。
安装
使用 Composer 安装:
使用
拼音风格
除了获取首字母的方法外,所有方法都支持第二个参数,用于指定拼音的格式,可选值为:
symbol
(默认)声调符号,例如pīn yīn
none
不输出拼音,例如pin yin
number
末尾数字模式的拼音,例如pin1 yin1
返回值
除了 permalink
返回字符串外,其它方法都返回集合类型 Ysp\Pinyin\Collection
:
你可以通过以下方式访问集合内容:
文字段落转拼音
生成用于链接的拼音字符串
通常用于文章链接等,可以使用 permalink
方法获取拼音字符串:
获取首字符字符串
通常用于创建搜索用的索引,可以使用 abbr
方法转换:
姓名首字母
将首字作为姓氏转换,其余作为普通词语转换:
姓名转换
姓名的姓的读音有些与普通字不一样,比如 ‘单’ 常见的音为 dan
,而作为姓的时候读 shan
。
护照姓名转换
根据国家规定 关于中国护照旅行证上姓名拼音 ü(吕、律、闾、绿、女等)统一拼写为 YU 的提醒 的规则,将 ü
转换为 yu
:
多音字
多音字的返回值为关联数组的集合,默认返回去重后的所有读音:
如果不想要去重,可以数组形式返回:
单字转拼音
和多音字类似,单字的返回值为字符串,多音字将根据该字字频调整得到常用音:
Warning
当单字处理时由于多音字来自词频表中取得常用音,所以在词语环境下可能出现不正确的情况,建议使用多音字处理。
更多使用请参考 测试用例。
v/yu/ü 的问题
根据国家语言文字工作委员会的规定,lv
、lyu
、lǚ
都是正确的,但是 lv
是最常用的,所以默认使用 lv
,如果你需要使用其他的,可以在初始化时传入:
Warning
仅在拼音风格为非
none
模式下有效。
命令行工具
你可以使用命令行来实现拼音的转换:
更多使用方法,可以查看帮助文档:
中文简繁转换
如何你有这个需求,也可以了解我的另一个包:overtrue/php-opencc
Contribution
欢迎提意见及完善补充词库:
- 单字拼音错误请添加到:data/pathes/chars.txt;
- 词语错误或补齐,请添加到:data/pathes/words.txt;
参考
License
MIT
All versions of pinyin with dependencies
ext-json Version *
ext-mbstring Version *