search
HomeBackend DevelopmentPHP 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&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;

    设置

    选项 描述
    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

    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("带着希望去旅行,比到达终点更美好");

    ODO

    • 添加获取首字母;
    • 添加补充词典;
    • 添加音频表,根据音频提高未匹配词典时多音字准确度;
    • 添加首字母输出大小写选项uppercase;
    • 支持载入自定义词库:Pinyin::appends($appends = array());
    • 支持 Laravel 5 的service provider。overtrue/laravel-pinyin
    https://github.com/overtrue/pinyin
    Statement
    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
    PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

    APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

    Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

    Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

    PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

    PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

    PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

    PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

    How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

    TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

    PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

    ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

    PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

    Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

    PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

    DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Article

    Hot Tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools

    PhpStorm Mac version

    PhpStorm Mac version

    The latest (2018.2.1) professional PHP integrated development tool

    mPDF

    mPDF

    mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),