侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

支持汉转拼和拼音分词的PHP中文工具类ChineseUtil

php  /  管理员 发布于 7年前   138

PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转。

PHP Chinese Tool class, support Chinese pinyin, pinyin participle, simplified and traditional conversion

目前本类库拥有的三个功能,都是在实际开发过程中整理出来的。这次使用的数据不同于以前我开源过汉字转拼音和简繁互转,数据都是从字典网站采集下来的,比以前的数据更加准确。

由于中文的博大精深,字有多音字,简体字和繁体字也有多种对应。并且本类库返回的所有结果,均为包含所有组合的数组。

本类库字典数据加载后会占用 40+ MB 内存,在访问量大的接口要使用此类汉字转拼音、繁简转换功能时,推荐用 Swoole 开发一个异步服务程序,只需加载一次数据,就可以持续高效地为你提供服务。

使用说明

Composer 直接安装

composer require yurunsoft/chinese-util

Composer 项目配置引入

"require": {  "yurunsoft/chinese-util" : "~1.0"}

功能

汉字转拼音

use \Yurun\Util\Chinese;$string = '恭喜l!把我翻译成拼音看下?';echo $string, PHP_EOL;echo '所有结果:', PHP_EOL;var_dump(Chinese::toPinyin($string));echo '全拼:', PHP_EOL;var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN));echo '首字母:', PHP_EOL;var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_FIRST));echo '读音:', PHP_EOL;var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_SOUND));echo '读音数字:', PHP_EOL;var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER));echo '自选 + 自定义分隔符:', PHP_EOL;var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN | Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER, '/'));
/**输出结果:array(4) { ["pinyin"]=> array(1) {  [0]=>  string(58) "gong xi fa cai ! ba wo fan yi cheng pin yin kan xia ? " } ["pinyinSound"]=> array(4) {  [0]=>  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kàn xià "  [1]=>  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kàn xià "  [2]=>  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kān xià "  [3]=>  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kān xià " } ["pinyinSoundNumber"]=> array(4) {  [0]=>  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "  [1]=>  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "  [2]=>  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "  [3]=>  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 " } ["pinyinFirst"]=> array(1) {  [0]=>  string(34) "g x f c ! b w f y c p y k x ? " }}全拼:array(1) { ["pinyin"]=> array(1) {  [0]=>  string(58) "gong xi fa cai ! ba wo fan yi cheng pin yin kan xia ? " }}首字母:array(1) { ["pinyinFirst"]=> array(1) {  [0]=>  string(34) "g x f c ! b w f y c p y k x ? " }}读音:array(1) { ["pinyinSound"]=> array(4) {  [0]=>  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kàn xià "  [1]=>  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kàn xià "  [2]=>  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kān xià "  [3]=>  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kān xià " }}读音数字:array(1) { ["pinyinSoundNumber"]=> array(4) {  [0]=>  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "  [1]=>  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "  [2]=>  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "  [3]=>  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 " }}自选 + 自定义分隔符:array(2) { ["pinyin"]=> array(1) {  [0]=>  string(58) "gong/xi/fa/cai/!/ba/wo/fan/yi/cheng/pin/yin/kan/xia/?/" } ["pinyinSoundNumber"]=> array(4) {  [0]=>  string(63) "gong1/xi3/fa1/cai2/ba3/wo3/fan1/yi4/cheng2/pin1/yin1/kan4/xia4/"  [1]=>  string(63) "gong1/xi3/fa1/cai2/ba4/wo3/fan1/yi4/cheng2/pin1/yin1/kan4/xia4/"  [2]=>  string(63) "gong1/xi3/fa1/cai2/ba3/wo3/fan1/yi4/cheng2/pin1/yin1/kan1/xia4/"  [3]=>  string(63) "gong1/xi3/fa1/cai2/ba4/wo3/fan1/yi4/cheng2/pin1/yin1/kan1/xia4/" }} * /

拼音分词

use \Yurun\Util\Chinese;$string2 = 'xianggang';echo '"', $string2, '"的分词结果:', PHP_EOL;var_dump(Chinese::splitPinyin($string2));/**输出结果:"xianggang"的分词结果:array(2) { [0]=> string(12) "xi ang gang " [1]=> string(11) "xiang gang "} * /

简繁互转

use \Yurun\Util\Chinese;$string3 = '中华人民共和国!恭喜l!';echo '"', $string3, '"的简体转换:', PHP_EOL;var_dump(Chinese::toSimplified($string3));echo '"', $string3, '"的繁体转换:', PHP_EOL;var_dump(Chinese::toTraditional($string3));/**输出结果:"中华人民共和国!恭喜l!"的简体转换:array(1) { [0]=> string(39) "中华人民共和国!恭喜发财!"}"中华人民共和国!恭喜l!"的繁体转换:array(1) { [0]=> string(39) "中A人民共和」舶l!"} * /

您可能感兴趣的文章:

  • PHP中文分词 自动获取关键词介绍
  • 开源php中文分词系统SCWS安装和使用实例
  • PHP中文分词的简单实现代码分享
  • PHPAnalysis中文分词类详解
  • php实现的中文分词类完整实例
  • php实现scws中文分词搜索的方法
  • 使用Discuz关键词服务器实现PHP中文分词
  • php+正则将字符串中的字母数字和中文分割
  • php中文语义分析实现方法示例


  • 上一条:
    php爬取天猫和淘宝商品数据
    下一条:
    php 广告点击统计代码(php+mysql)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客