ChineseUtil PHP 汉字转拼音类开源项目

我要开发同款
匿名用户2017年03月09日
49阅读
开发技术PHP
所属分类程序开发、拼音转换工具包
授权协议MIT

作品详情

PHP中文工具类,支持汉字转拼音、拼音分词、简繁互转。

目前本类库拥有的三个功能,都是在实际开发过程中整理出来的。这次使用的数据不同于以前我开源过汉字转拼音和简繁互转,数据都是从字典网站采集下来的,比以前的数据更加准确。

由于中文的博大精深,字有多音字,简体字和繁体字也有多种对应。并且本类库返回的所有结果,均为包含所有组合的数组。

本类库字典数据总共收录73925个汉字,包括:3955个简体字,1761个繁体字,68209个其它汉字。

功能汉字转拼音use\Yurun\Util\Chinese;use\Yurun\Util\Chinese\Pinyin;$string='恭喜發財!123';echo$string,PHP_EOL;echo'全拼:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN));echo'首字母:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN_FIRST));echo'读音:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN_SOUND));echo'读音数字:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER));echo'自选返回格式+以文本格式返回+自定义分隔符:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN|Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER,''));echo'所有结果:',PHP_EOL;var_dump(Chinese::toPinyin($string));echo'不分割无拼音字符:',PHP_EOL;var_dump(Chinese::toPinyin($string,Pinyin::CONVERT_MODE_PINYIN,'',false));//结果太长,请自行运行代码查看拼音分词

结果是字符串:

use\Yurun\Util\Chinese;$string2='xianggang';echo'"',$string2,'"的分词结果:',PHP_EOL;var_dump(Chinese::splitPinyin($string2));

输出结果:

"xianggang"的分词结果:array(2){[0]=>string(11)"xianggang"[1]=>string(12)"xianggang"}

结果是数组:

use\Yurun\Util\Chinese;$string2='xianggang';echo'"',$string2,'"的分词结果:',PHP_EOL;var_dump(Chinese::splitPinyinArray($string2));

输出结果:

"xianggang"的分词结果:array(2){[0]=>array(2){[0]=>string(5)"xiang"[1]=>string(4)"gang"}[1]=>array(3){[0]=>string(2)"xi"[1]=>string(3)"ang"[2]=>string(4)"gang"}}简繁互转use\Yurun\Util\Chinese;$string3='中华人民共和国!恭喜發財!';echo'"',$string3,'"的简体转换:',PHP_EOL;var_dump(Chinese::toSimplified($string3));echo'"',$string3,'"的繁体转换:',PHP_EOL;var_dump(Chinese::toTraditional($string3));

输出结果:

"中华人民共和国!恭喜發財!"的简体转换:array(1){[0]=>string(39)"中华人民共和国!恭喜发财!"}"中华人民共和国!恭喜發財!"的繁体转换:array(1){[0]=>string(39)"中華人民共和國!恭喜發財!"}数字转换useYurun\Util\Chinese\Number;functiontest($number){$chinese=Number::toChinese($number,['tenMin'=>true,//“一十二”=>“十二”]);$afterNumber=Number::toNumber($chinese);echo$number,'=>',$chinese,'=>',$afterNumber,'=>',0===bccomp($number,$afterNumber,20)?'true':'false',PHP_EOL;}test(1.234);test(-1234567890.666);test(pi());

输出结果:

1.234=>一点二三四=>1.234=>true-1234567890.666=>负十二亿三千四百五十六万七千八百九十点六六六=>-1234567890.666=>true3.1415926535898=>三点一四一五九二六五三五八九八=>3.1415926535898=>true金额数字转换useYurun\Util\Chinese\Money;functiontest($number){$chinese=Money::toChinese($number,['tenMin'=>true,//“一十二”=>“十二”]);$afterMoney=Money::toNumber($chinese);echo$number,'=>',$chinese,'=>',$afterMoney,'=>',0===bccomp($number,$afterMoney)?'true':'false',PHP_EOL;}test(1.234);test(-1234567890.666);

输出结果:

输出结果:1.234=>壹圆贰角叁分肆厘=>1.234=>true-1234567890.666=>负壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾圆陆角陆分陆厘=>-1234567890.666=>true
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论