Home > Backend Development > PHP Tutorial > 基于词库的中文转拼音优质解决方案(PHP)

基于词库的中文转拼音优质解决方案(PHP)

WBOY
Release: 2016-06-20 12:53:38
Original
1314 people have browsed it

基于 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ò
Copy after login

安装

  • 使用 Composer 安装:

    composer require overtrue/pinyin:2.*
    Copy after login

    或者在你的项目 composer.json 加入:

    { "require": { "overtrue/pinyin": "2.*" }}
    Copy after login

  • 直接下载文件src/Pinyin/Pinyin.php引入到项目中。

  • 使用

    <?phpuse \Overtrue\Pinyin\Pinyin;//获取拼音echo Pinyin::trans('带着希望去旅行,比到达终点更美好');// d&agrave;i zhe xī w&agrave;ng q&ugrave; lǔ x&iacute;ng bǐ d&agrave;o d&aacute; zhōng diǎn g&egrave;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&agrave;i zhe xī w&agrave;ng q&ugrave; lǔ x&iacute;ng bǐ d&agrave;o d&aacute; zhōng diǎn g&egrave;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&egrave;
    Copy after login

    设置

    选项 描述
    delimiter 分隔符,默认为一个空格
    accent 是否输出音调
    only_chinese 只保留$string中中文部分
    uppercase 取首字母时的大写,默认false

    全局设置: Pinyin::set('delimiter', '-');

    临时设置: Pinyin::trans($word, $settings)在调用的方法后传参

    example:

    Pinyin::set('delimiter', '-');//全局echo Pinyin::trans('带着希望去旅行,比到达终点更美好');// d&agrave;i-zhe-xī-w&agrave;ng-q&ugrave;-lǔ-x&iacute;ng-bǐ-d&agrave;o-d&aacute;-zhōng-diǎn-g&egrave;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
    Copy after login

    Pinyin::set('accent', false); echo Pinyin::trans('带着希望去旅行,比到达终点更美好');  // dai zhe xi wang qu lu xing bi dao da zhong dian geng mei hao
    Copy after login

    在 Laravel 中使用

    独立的包在这里:overtrue/laravel-pinyin

    使用

    与上面的使用方法一样:

    use \Overtrue\Pinyin\Pinyin;//...$pinyin = Pinyin::trans("带着希望去旅行,比到达终点更美好");
    Copy after login

    ODO

    • 添加获取首字母;
    • 添加补充词典;
    • 添加音频表,根据音频提高未匹配词典时多音字准确度;
    • 添加首字母输出大小写选项uppercase;
    • 支持载入自定义词库:Pinyin::appends($appends = array());
    • 支持 Laravel 5 的service provider。overtrue/laravel-pinyin
    https://github.com/overtrue/pinyin
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template