项目作者: aizuyan

项目描述 :
php 汉字转pinyin 扩展形式的
高级语言: C
项目地址: git://github.com/aizuyan/pinyin.git
创建时间: 2016-05-28T14:13:21Z
项目社区:https://github.com/aizuyan/pinyin

开源协议:

关键词:
php-pinyin pinyin

下载


已不再维护

pinyin

php 汉字转 pinyin 扩展形式的

#

fcgi 模式常驻内存,速度很快

配置

这里面需要在 /path/to/php.ini 中配置 pinyin.dir=/path/to/pinyindir,配置的路径为数据文件存放的目录。
目录下面的文件分为两种:

一种是姓氏文件,只有一个,名称为 surnames

另一种为普通句子和汉字文件,名称为 words_0words_1, ….. , words_9 ,最多10个,越靠前的是越常用的词组

配置数据文件在当前项目的 datas/ 目录下面。

使用

这里用了最简洁的方式,用了一个函数 pinyin(char *str, int flags),根据不同的参数,转换为不用的形式

PINYIN_NONE 拼音不加音调
PINYIN_UNICODE 拼音加音调
PINYIN_ASCII 音标以数字形式
PINYIN_ISNAME 要转化的内容为名字

PINYIN_NONE 不带音调

  1. print_r(pinyin("你因为穷用盗版的时候至少要知道自己是不对的,这说明你还有救。", PINYIN_NONE));

输出结果:

  1. Array
  2. (
  3. [0] => ni
  4. [1] => yin
  5. [2] => wei
  6. [3] => qiong
  7. [4] => yong
  8. [5] => dao
  9. [6] => ban
  10. [7] => de
  11. [8] => shi
  12. [9] => hou
  13. [10] => zhi
  14. [11] => shao
  15. [12] => yao
  16. [13] => zhi
  17. [14] => dao
  18. [15] => zi
  19. [16] => ji
  20. [17] => shi
  21. [18] => bu
  22. [19] => dui
  23. [20] => de
  24. [21] => zhe
  25. [22] => shuo
  26. [23] => ming
  27. [24] => ni
  28. [25] => hai
  29. [26] => you
  30. [27] => jiu
  31. )

带音调

  1. print_r(pinyin("你因为穷用盗版的时候至少要知道自己是不对的,这说明你还有救。", PINYIN_UNICODE));

输出结果如下,标点符号也输出了

  1. Array
  2. (
  3. [0] => nǐ
  4. [1] => yīn
  5. [2] => wèi
  6. [3] => qióng
  7. [4] => yòng
  8. [5] => dào
  9. [6] => bǎn
  10. [7] => de
  11. [8] => shí
  12. [9] => hòu
  13. [10] => zhì
  14. [11] => shǎo
  15. [12] => yào
  16. [13] => zhī
  17. [14] => dào
  18. [15] => zì
  19. [16] => jǐ
  20. [17] => shì
  21. [18] => bú
  22. [19] => duì
  23. [20] => de
  24. [21] =>
  25. [22] => zhè
  26. [23] => shuō
  27. [24] => míng
  28. [25] => nǐ
  29. [26] => hái
  30. [27] => yǒu
  31. [28] => jiù
  32. [29] =>
  33. )

姓名

这里使用了几个朋友的名称(比较有特色的名字)

  1. print_r(pinyin("冼佩君", PINYIN_ISNAME));
  2. print_r(pinyin("袁旭东", PINYIN_ISNAME));
  3. print_r(pinyin("燕睿涛", PINYIN_ISNAME));
  4. print_r(pinyin("单净净", PINYIN_ISNAME));
  1. Array
  2. (
  3. [0] => xiǎn
  4. [1] => pèi
  5. [2] => jūn
  6. )
  7. Array
  8. (
  9. [0] => yuán
  10. [1] => xù
  11. [2] => dōng
  12. )
  13. Array
  14. (
  15. [0] => yān
  16. [1] => ruì
  17. [2] => tāo
  18. )
  19. Array
  20. (
  21. [0] => shàn
  22. [1] => jìng
  23. [2] => jìng
  24. )