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

本文阅读 2 分钟
首页 PHP笔记 正文
<?php
/**
 * PHP 汉字转拼音 [包含20902个基本汉字+5059生僻字]
 * @note 请开启 mb_string 扩展
 */
/* 测试用例
$start_time = microtime(1);

var_dump(pinyin('对多音字无能为力'));
var_dump(pinyin('最全的PHP汉字转拼音库,比百度词典还全(dict.baidu.com)'));
var_dump(pinyin('试试:㐀㐁㐄㐅㐆㐌㐖㐜'));
var_dump(pinyin('一起开始数:12345'));
var_dump(pinyin('海南'));
var_dump(pinyin('乌鲁木齐'));
var_dump(pinyin('前总理朱镕基'));
var_dump(pinyin('仅首字母', 'first'));
var_dump(pinyin('占-位-符-为-空', 'all', ''));
var_dump(pinyin('不允许中文以外的字符', 'first', '', ''));

for ($i=0; $i<1e4; $i++) { // 性能次数,转换1万次
    pinyin('对多音字无能为力');
    pinyin('最全的PHP汉字转拼音库,比百度词典还全(dict.baidu.com)');
    pinyin('试试:㐀㐁㐄㐅㐆㐌㐖㐜');
    pinyin('一起开始数:12345');
    pinyin('海南');
    pinyin('乌鲁木齐');
    pinyin('前总理朱镕基');
    pinyin('仅首字母', 'first');
    pinyin('占-位-符-为-空', 'all', '');
    pinyin('不允许中文以外的字符', 'first', '', '');
}

echo number_format(microtime(1) - $start_time, 6);
*/

/**
 * 中文转拼音 (utf8版,gbk转utf8也可用)
 * @param string $str         utf8字符串
 * @param string $ret_format  返回格式 [all:全拼音|first:首字母|one:仅第一字符首字母]
 * @param string $placeholder 无法识别的字符占位符
 * @param string $allow_chars 允许的非中文字符
 * @return string             拼音字符串
 */
function pinyin($str, $ret_format = 'all', $placeholder = '_', $allow_chars = '/[a-zA-Z\d ]/') {
    static $pinyins = null;
    }
    /**
    源码过多导致页面卡,此处源码略
    **/
    return rtrim($rs, ' ');
}
?>

完整源码请下载

https://www.lanzout.com/i6mwgij

解压密码: detechn或detechn.com

免责声明

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

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

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

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

发表评论