Home >Backend Development >PHP Tutorial >基于词库的中文转拼音优质解决方案(PHP)
基于 CC-CEDICT 词典的中文转拼音工具,更准确的汉字转拼音解决方案。
SAE服务地址:http://string2pinyin.sinaapp.com/doc.html
use \Overtrue\Pinyin\Pinyin;echo Pinyin::trans('带着希望去旅行,比到达终点更美好');// 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::trans('了然'); // liǎo ránPinyin::trans('来了'); // lái le// 还Pinyin::trans('还有'); // hái yǒuPinyin::trans('交还'); // jiāo huán// 什Pinyin::trans('什么'); // shén mePinyin::trans('什锦'); // shí jǐn// 便Pinyin::trans('便当'); // biàn dāngPinyin::trans('便宜'); // pián yí// 剥Pinyin::trans('剥皮'); // bāo píPinyin::trans('剥皮器'); // bō pí qì// 不Pinyin::trans('赔不是'); // péi bú shiPinyin::trans('跑了和尚,跑不了庙'); // pǎo le hé shàng , pǎo bù liǎo miào// 降Pinyin::trans('降温'); // jiàng wēnPinyin::trans('投降'); // tóu xiáng// 都Pinyin::trans('首都'); // shǒu dūPinyin::trans('都什么年代了'); // dōu shén me nián dài le// 乐Pinyin::trans('快乐'); // kuài lèPinyin::trans('音乐'); // yīn yuè// 长Pinyin::trans('成长'); // chéng zhǎngPinyin::trans('长江'); // cháng jiāng// 难Pinyin::trans('难民'); // nàn mínPinyin::trans('难过'); // nán guò
使用 Composer 安装:
composer require overtrue/pinyin:2.*
或者在你的项目 composer.json 加入:
{ "require": { "overtrue/pinyin": "2.*" }}
直接下载文件src/Pinyin/Pinyin.php引入到项目中。
<?phpuse \Overtrue\Pinyin\Pinyin;//获取拼音echo Pinyin::trans('带着希望去旅行,比到达终点更美好');// 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//当前也可以两个同时获取echo Pinyin::parse('带着希望去旅行,比到达终点更美好');// output:// array(// 'src' => '带着希望去旅行,比到达终点更美好',// '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',// 'letter' => 'd z x w q l x b d d z d g m h',// );// 加载自定义补充词库$appends = array( '冷' => 're4',);Pinyin::appends($appends);echo Pinyin::trans('冷');// rè
选项 | 描述 |
---|---|
delimiter | 分隔符,默认为一个空格 |
accent | 是否输出音调 |
only_chinese | 只保留$string中中文部分 |
uppercase | 取首字母时的大写,默认false |
全局设置: Pinyin::set('delimiter', '-');
临时设置: Pinyin::trans($word, $settings)在调用的方法后传参
example:
Pinyin::set('delimiter', '-');//全局echo Pinyin::trans('带着希望去旅行,比到达终点更美好');// 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::trans('带着希望去旅行,比到达终点更美好', $setting);//这里的 setting 只是临时修改,并非全局设置// dai-zhe-xi-wang-qu-lu-xing-bi-dao-da-zhong-dian-geng-mei-hao
Pinyin::set('accent', false); echo Pinyin::trans('带着希望去旅行,比到达终点更美好'); // dai zhe xi wang qu lu xing bi dao da zhong dian geng mei hao
独立的包在这里:overtrue/laravel-pinyin
与上面的使用方法一样:
use \Overtrue\Pinyin\Pinyin;//...$pinyin = Pinyin::trans("带着希望去旅行,比到达终点更美好");