由于部分生僻字获取拼音时存在异常。考虑去开源社区找相关类库。
整理函数如下
可以获取首拼,全拼等多种用法。具体参考文档
//获取整条字符串所有汉字拼音首字母 type 0 首拼 1 全拼
function pinyin_long($zh,$type=0,$upper=false) {
// https://github.com/overtrue/pinyin
require_once PLUGIN_CLASS_PATH.'pinyin/src/const.php';
require_once PLUGIN_CLASS_PATH.'pinyin/src/DictLoaderInterface.php';
require_once PLUGIN_CLASS_PATH.'pinyin/src/FileDictLoader.php';
require_once PLUGIN_CLASS_PATH.'pinyin/src/GeneratorFileDictLoader.php';
require_once PLUGIN_CLASS_PATH.'pinyin/src/MemoryFileDictLoader.php';
require_once PLUGIN_CLASS_PATH.'pinyin/src/Pinyin.php';
$pinyin = new Overtrue\Pinyin\Pinyin();
if ($type==0) {
$str = $pinyin->abbr($zh);
} else {
$str = $pinyin->permalink($zh);
}
if (!$str) {
$str = $zh;
}
return !$upper?$str:strtoupper($str);
}