基于詞庫的中文轉拼音優質解決方案(PHP)

jopen 9年前發布 | 20K 次閱讀 PHP 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án Pinyin::trans('來了'); // lái le

// 還 Pinyin::trans('還有'); // hái yǒu Pinyin::trans('交還'); // jiāo huán

// 什 Pinyin::trans('什么'); // shén me Pinyin::trans('什錦'); // shí jǐn

// 便 Pinyin::trans('便當'); // biàn dāng Pinyin::trans('便宜'); // pián yí

// 剝 Pinyin::trans('剝皮'); // bāo pí Pinyin::trans('剝皮器'); // bō pí qì

// 不 Pinyin::trans('賠不是'); // péi bú shi Pinyin::trans('跑了和尚,跑不了廟'); // pǎo le hé shàng , pǎo bù liǎo miào

// 降 Pinyin::trans('降溫'); // jiàng wēn Pinyin::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ǎng Pinyin::trans('長江'); // cháng jiāng

// 難 Pinyin::trans('難民'); // nàn mín Pinyin::trans('難過'); // nán guò</pre>

安裝

  1. 使用 Composer 安裝:

    composer require overtrue/pinyin:2.*

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

    { "require": { "overtrue/pinyin": "2.*" }
    }
    </li>

  2. 直接下載文件src/Pinyin/Pinyin.php引入到項目中。

    </li> </ol>

    使用

    <?php
    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

    //獲取首字母 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è</pre>

    設置

    </tr> </tbody>

    </tr>

    </tr>

    </tr>

    </tr> </tbody> </table>

    全局設置: 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</pre>

    Pinyin::set('accent', false); echo Pinyin::trans('帶著希望去旅行,比到達終點更美好');  // dai zhe xi wang qu lu xing bi dao da zhong dian geng mei hao

    在 Laravel 中使用

    獨立的包在這里:overtrue/laravel-pinyin

    使用

    與上面的使用方法一樣:

    use \Overtrue\Pinyin\Pinyin;

    //...

    $pinyin = Pinyin::trans("帶著希望去旅行,比到達終點更美好");</pre>

    ODO

    選項 描述
    delimiter 分隔符,默認為一個空格
    accent 是否輸出音調
    only_chinese 只保留$string中中文部分
    uppercase 取首字母時的大寫,默認false
sesese色