php 汉字转拼音
2016-12-26 00:00
239 查看
摘要: php 汉字转拼音
到目前为止这可能是最准确的一个解决方案了,大GitHub上各种找,没有一个好用的,大部分都只是汉字转拼音,所以包含多音字的结果基本都错误。当然也有基于词典的转换工具,不过还是解决不了词库不全造成的多音字问题(当然,完全解决是不太可能的,或者词库会无比的大)。比如
基于上面的原因,我造了下面这个轮子。特点如下:
基于CC-CEDICT.词典,解决大部分词汇问题;
添加补充词典,解决CC-CEDICT不全或者不准确的问题;
添加词频表,根据使用频率再一步提高多音字的准确度;
基于CC-CEDICT词典的中文转拼音工具, 更准确的汉字转拼音解决方案。 CC-CEDICT.
或者在你的项目composer.json加入:
直接下载文件
全局设置:*
临时设置:*
example:
現代漢語語音語料庫
汉典
到目前为止这可能是最准确的一个解决方案了,大GitHub上各种找,没有一个好用的,大部分都只是汉字转拼音,所以包含多音字的结果基本都错误。当然也有基于词典的转换工具,不过还是解决不了词库不全造成的多音字问题(当然,完全解决是不太可能的,或者词库会无比的大)。比如
康熙来了大部分工具的试用结果是:kang xi lai liao.
基于上面的原因,我造了下面这个轮子。特点如下:
基于CC-CEDICT.词典,解决大部分词汇问题;
添加补充词典,解决CC-CEDICT不全或者不准确的问题;
添加词频表,根据使用频率再一步提高多音字的准确度;
Pinyin
主页:http://overtrue.me/pinyin基于CC-CEDICT词典的中文转拼音工具, 更准确的汉字转拼音解决方案。 CC-CEDICT.
use \Overtrue\Pinyin; echo Pinyin::pinyin('带着希望去旅行,比到达终点更美好'); // dài zhe xī wàng qù lǔ xíng bǐ dào dá zhōng diǎn gèng měi hǎo //多音字 // 了 Pinyin::pinyin('了然'); // liǎo rán Pinyin::pinyin('来了'); // lái le // 还 Pinyin::pinyin('还有'); // hái yǒu Pinyin::pinyin('交还'); // jiāo huán // 什 Pinyin::pinyin('什么'); // shén me Pinyin::pinyin('什锦'); // shí jǐn // 便 Pinyin::pinyin('便当'); // biàn dāng Pinyin::pinyin('便宜'); // pián yí // 剥 Pinyin::pinyin('剥皮'); // bāo pí Pinyin::pinyin('剥皮器'); // bō pí qì // 不 Pinyin::pinyin('赔不是'); // péi bú shi Pinyin::pinyin('跑了和尚,跑不了庙'); // pǎo le hé shàng , pǎo bù liǎo miào // 降 Pinyin::pinyin('降温'); // jiàng wēn Pinyin::pinyin('投降'); // tóu xiáng // 都 Pinyin::pinyin('首都'); // shǒu dū Pinyin::pinyin('都什么年代了'); // dōu shén me nián dài le // 乐 Pinyin::pinyin('快乐'); // kuài lè Pinyin::pinyin('音乐'); // yīn yuè // 长 Pinyin::pinyin('成长'); // chéng zhǎng Pinyin::pinyin('长江'); // cháng jiāng // 难 Pinyin::pinyin('难民'); // nàn mín Pinyin::pinyin('难过'); // nán guò ...
安装
使用 Composer 安装:composer require overtrue/pinyin >=1.4
或者在你的项目composer.json加入:
{ "require": { "overtrue/pinyin": ">=1.4" } }
直接下载文件
src/Overtrue/Pinyin.php引入到项目中。
使用
<?php use \Overtrue\Pinyin; //获取拼音 echo Pinyin::pinyin('带着希望去旅行,比到达终点更美好'); //或者: Overtrue\pinyin($string); // dài zhe xī wàng qù lǔ xíng bǐ dào dá zhōng diǎn gèng měi hǎo //获取首字母 echo Pinyin::letter('带着希望去旅行,比到达终点更美好'); // D Z X W Q L X B D D Z D G M H
设置
delimiter分隔符,默认为一个空格 ‘ ‘;
traditional繁体
accent是否输出音调;
letter只输出首字母,或者直接使用
Pinyin::letter($string);
only_chinese只保留$string中中文部分。
全局设置:*
Pinyin::set('delimiter', '-');
临时设置:*
Pinyin::pinyin($word, $settings)在调用的方法后传参
example:
Pinyin::set('delimiter', '-');//全局 echo Pinyin::pinyin('带着希望去旅行,比到达终点更美好'); // dài-zhe-xī-wàng-qù-lǔ-xíng-bǐ-dào-dá-zhōng-diǎn-gèng-měi-hǎo
$setting = [ 'delimiter' => '-', 'accent' => false, ]; echo Pinyin::pinyin('带着希望去旅行,比到达终点更美好', $setting);//这里的setting只是临时修改,并非全局设置 // dai-zhe-xi-wang-qu-lu-xing-bi-dao-da-zhong-dian-geng-mei-hao
Pinyin::set('accent', false); echo Pinyin::pinyin('带着希望去旅行,比到达终点更美好'); // dai zhe xi wang qu lu xing bi dao da zhong dian geng mei hao
Contribution
欢迎提意见及完善补充词库src/Overtrue/data/additional.php!
参考
CC-CEDICT現代漢語語音語料庫
汉典
License
MIT相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- Laravel5.3 表单验证中文报错提示语言包
- 10 件在 PHP 7 中不要做的事情
- 写程序的时候应该如何思考?
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- 数组reduce方法的高级技巧
- php7 读取php.ini[4]
- PHP-max_execution_time与fpm.request_terminate_timeout介绍
- PHP+Apache在Windows 9x下的安装和配置