PHP 汉字转拼音 [包含20902个基本汉字+5059生僻字]

本文阅读 2 分钟
首页 PHP笔记 正文
  1. <?php
  2. /**
  3. * PHP 汉字转拼音 [包含20902个基本汉字+5059生僻字]
  4. * @note 请开启 mb_string 扩展
  5. */
  6. /* 测试用例
  7. $start_time = microtime(1);
  8. var_dump(pinyin('对多音字无能为力'));
  9. var_dump(pinyin('最全的PHP汉字转拼音库,比百度词典还全(dict.baidu.com)'));
  10. var_dump(pinyin('试试:㐀㐁㐄㐅㐆㐌㐖㐜'));
  11. var_dump(pinyin('一起开始数:12345'));
  12. var_dump(pinyin('海南'));
  13. var_dump(pinyin('乌鲁木齐'));
  14. var_dump(pinyin('前总理朱镕基'));
  15. var_dump(pinyin('仅首字母', 'first'));
  16. var_dump(pinyin('占-位-符-为-空', 'all', ''));
  17. var_dump(pinyin('不允许中文以外的字符', 'first', '', ''));
  18. for ($i=0; $i<1e4; $i++) { // 性能次数,转换1万次
  19. pinyin('对多音字无能为力');
  20. pinyin('最全的PHP汉字转拼音库,比百度词典还全(dict.baidu.com)');
  21. pinyin('试试:㐀㐁㐄㐅㐆㐌㐖㐜');
  22. pinyin('一起开始数:12345');
  23. pinyin('海南');
  24. pinyin('乌鲁木齐');
  25. pinyin('前总理朱镕基');
  26. pinyin('仅首字母', 'first');
  27. pinyin('占-位-符-为-空', 'all', '');
  28. pinyin('不允许中文以外的字符', 'first', '', '');
  29. }
  30. echo number_format(microtime(1) - $start_time, 6);
  31. */
  32. /**
  33. * 中文转拼音 (utf8版,gbk转utf8也可用)
  34. * @param string $str utf8字符串
  35. * @param string $ret_format 返回格式 [all:全拼音|first:首字母|one:仅第一字符首字母]
  36. * @param string $placeholder 无法识别的字符占位符
  37. * @param string $allow_chars 允许的非中文字符
  38. * @return string 拼音字符串
  39. */
  40. function pinyin($str, $ret_format = 'all', $placeholder = '_', $allow_chars = '/[a-zA-Z\d ]/') {
  41. static $pinyins = null;
  42. }
  43. /**
  44. 源码过多导致页面卡,此处源码略
  45. **/
  46. return rtrim($rs, ' ');
  47. }
  48. ?>

完整源码请下载

https://www.lanzout.com/i6mwgij

解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

PHP websocket学习笔记
« 上一篇 07-14
thinkphp5 PHP动态修改配置文件
下一篇 » 07-15

发表评论