美文网首页ThinkPHP
汉字转拼音,结合Thinkphp使用

汉字转拼音,结合Thinkphp使用

作者: 月亮住在广寒宫 | 来源:发表于2018-06-17 14:54 被阅读8次

    好用的拼音类,代码如下

    namespace Org\Pinyin;;

    class Pinyin {

    private $pylist = array(

    ‘a’=>-20319,

    ‘ai’=>-20317,

    ‘an’=>-20304,

    ‘ang’=>-20295,

    ‘ao’=>-20292,

    ‘ba’=>-20283,

    ‘bai’=>-20265,

    ‘ban’=>-20257,

    ‘bang’=>-20242,

    ‘bao’=>-20230,

    ‘bei’=>-20051,

    ‘ben’=>-20036,

    ‘beng’=>-20032,

    ‘bi’=>-20026,

    ‘bian’=>-20002,

    ‘biao’=>-19990,

    ‘bie’=>-19986,

    ‘bin’=>-19982,

    ‘bing’=>-19976,

    ‘bo’=>-19805,

    ‘bu’=>-19784,

    ‘ca’=>-19775,

    ‘cai’=>-19774,

    ‘can’=>-19763,

    ‘cang’=>-19756,

    ‘cao’=>-19751,

    ‘ce’=>-19746,

    ‘ceng’=>-19741,

    ‘cha’=>-19739,

    ‘chai’=>-19728,

    ‘chan’=>-19725,

    ‘chang’=>-19715,

    ‘chao’=>-19540,

    ‘che’=>-19531,

    ‘chen’=>-19525,

    ‘cheng’=>-19515,

    ‘chi’=>-19500,

    ‘chong’=>-19484,

    ‘chou’=>-19479,

    ‘chu’=>-19467,

    ‘chuai’=>-19289,

    ‘chuan’=>-19288,

    ‘chuang’=>-19281,

    ‘chui’=>-19275,

    ‘chun’=>-19270,

    ‘chuo’=>-19263,

    ‘ci’=>-19261,

    ‘cong’=>-19249,

    ‘cou’=>-19243,

    ‘cu’=>-19242,

    ‘cuan’=>-19238,

    ‘cui’=>-19235,

    ‘cun’=>-19227,

    ‘cuo’=>-19224,

    ‘da’=>-19218,

    ‘dai’=>-19212,

    ‘dan’=>-19038,

    ‘dang’=>-19023,

    ‘dao’=>-19018,

    ‘de’=>-19006,

    ‘deng’=>-19003,

    ‘di’=>-18996,

    ‘dian’=>-18977,

    ‘diao’=>-18961,

    ‘die’=>-18952,

    ‘ding’=>-18783,

    ‘diu’=>-18774,

    ‘dong’=>-18773,

    ‘dou’=>-18763,

    ‘du’=>-18756,

    ‘duan’=>-18741,

    ‘dui’=>-18735,

    ‘dun’=>-18731,

    ‘duo’=>-18722,

    ‘e’=>-18710,

    ‘en’=>-18697,

    ‘er’=>-18696,

    ‘fa’=>-18526,

    ‘fan’=>-18518,

    ‘fang’=>-18501,

    ‘fei’=>-18490,

    ‘fen’=>-18478,

    ‘feng’=>-18463,

    ‘fo’=>-18448,

    ‘fou’=>-18447,

    ‘fu’=>-18446,

    ‘ga’=>-18239,

    ‘gai’=>-18237,

    ‘gan’=>-18231,

    ‘gang’=>-18220,

    ‘gao’=>-18211,

    ‘ge’=>-18201,

    ‘gei’=>-18184,

    ‘gen’=>-18183,

    ‘geng’=>-18181,

    ‘gong’=>-18012,

    ‘gou’=>-17997,

    ‘gu’=>-17988,

    ‘gua’=>-17970,

    ‘guai’=>-17964,

    ‘guan’=>-17961,

    ‘guang’=>-17950,

    ‘gui’=>-17947,

    ‘gun’=>-17931,

    ‘guo’=>-17928,

    ‘ha’=>-17922,

    ‘hai’=>-17759,

    ‘han’=>-17752,

    ‘hang’=>-17733,

    ‘hao’=>-17730,

    ‘he’=>-17721,

    ‘hei’=>-17703,

    ‘hen’=>-17701,

    ‘heng’=>-17697,

    ‘hong’=>-17692,

    ‘hou’=>-17683,

    ‘hu’=>-17676,

    ‘hua’=>-17496,

    ‘huai’=>-17487,

    ‘huan’=>-17482,

    ‘huang’=>-17468,

    ‘hui’=>-17454,

    ‘hun’=>-17433,

    ‘huo’=>-17427,

    ‘ji’=>-17417,

    ‘jia’=>-17202,

    ‘jian’=>-17185,

    ‘jiang’=>-16983,

    ‘jiao’=>-16970,

    ‘jie’=>-16942,

    ‘jin’=>-16915,

    ‘jing’=>-16733,

    ‘jiong’=>-16708,

    ‘jiu’=>-16706,

    ‘ju’=>-16689,

    ‘juan’=>-16664,

    ‘jue’=>-16657,

    ‘jun’=>-16647,

    ‘ka’=>-16474,

    ‘kai’=>-16470,

    ‘kan’=>-16465,

    ‘kang’=>-16459,

    ‘kao’=>-16452,

    ‘ke’=>-16448,

    ‘ken’=>-16433,

    ‘keng’=>-16429,

    ‘kong’=>-16427,

    ‘kou’=>-16423,

    ‘ku’=>-16419,

    ‘kua’=>-16412,

    ‘kuai’=>-16407,

    ‘kuan’=>-16403,

    ‘kuang’=>-16401,

    ‘kui’=>-16393,

    ‘kun’=>-16220,

    ‘kuo’=>-16216,

    ‘la’=>-16212,

    ‘lai’=>-16205,

    ‘lan’=>-16202,

    ‘lang’=>-16187,

    ‘lao’=>-16180,

    ‘le’=>-16171,

    ‘lei’=>-16169,

    ‘leng’=>-16158,

    ‘li’=>-16155,

    ‘lia’=>-15959,

    ‘lian’=>-15958,

    ‘liang’=>-15944,

    ‘liao’=>-15933,

    ‘lie’=>-15920,

    ‘lin’=>-15915,

    ‘ling’=>-15903,

    ‘liu’=>-15889,

    ‘long’=>-15878,

    ‘lou’=>-15707,

    ‘lu’=>-15701,

    ‘lv’=>-15681,

    ‘luan’=>-15667,

    ‘lue’=>-15661,

    ‘lun’=>-15659,

    ‘luo’=>-15652,

    ‘ma’=>-15640,

    ‘mai’=>-15631,

    ‘man’=>-15625,

    ‘mang’=>-15454,

    ‘mao’=>-15448,

    ‘me’=>-15436,

    ‘mei’=>-15435,

    ‘men’=>-15419,

    ‘meng’=>-15416,

    ‘mi’=>-15408,

    ‘mian’=>-15394,

    ‘miao’=>-15385,

    ‘mie’=>-15377,

    ‘min’=>-15375,

    ‘ming’=>-15369,

    ‘miu’=>-15363,

    ‘mo’=>-15362,

    ‘mou’=>-15183,

    ‘mu’=>-15180,

    ‘na’=>-15165,

    ‘nai’=>-15158,

    ‘nan’=>-15153,

    ‘nang’=>-15150,

    ‘nao’=>-15149,

    ‘ne’=>-15144,

    ‘nei’=>-15143,

    ‘nen’=>-15141,

    ‘neng’=>-15140,

    ‘ni’=>-15139,

    ‘nian’=>-15128,

    ‘niang’=>-15121,

    ‘niao’=>-15119,

    ‘nie’=>-15117,

    ‘nin’=>-15110,

    ‘ning’=>-15109,

    ‘niu’=>-14941,

    ‘nong’=>-14937,

    ‘nu’=>-14933,

    ‘nv’=>-14930,

    ‘nuan’=>-14929,

    ‘nue’=>-14928,

    ‘nuo’=>-14926,

    ‘o’=>-14922,

    ‘ou’=>-14921,

    ‘pa’=>-14914,

    ‘pai’=>-14908,

    ‘pan’=>-14902,

    ‘pang’=>-14894,

    ‘pao’=>-14889,

    ‘pei’=>-14882,

    ‘pen’=>-14873,

    ‘peng’=>-14871,

    ‘pi’=>-14857,

    ‘pian’=>-14678,

    ‘piao’=>-14674,

    ‘pie’=>-14670,

    ‘pin’=>-14668,

    ‘ping’=>-14663,

    ‘po’=>-14654,

    ‘pu’=>-14645,

    ‘qi’=>-14630,

    ‘qia’=>-14594,

    ‘qian’=>-14429,

    ‘qiang’=>-14407,

    ‘qiao’=>-14399,

    ‘qie’=>-14384,

    ‘qin’=>-14379,

    ‘qing’=>-14368,

    ‘qiong’=>-14355,

    ‘qiu’=>-14353,

    ‘qu’=>-14345,

    ‘quan’=>-14170,

    ‘que’=>-14159,

    ‘qun’=>-14151,

    ‘ran’=>-14149,

    ‘rang’=>-14145,

    ‘rao’=>-14140,

    ‘re’=>-14137,

    ‘ren’=>-14135,

    ‘reng’=>-14125,

    ‘ri’=>-14123,

    ‘rong’=>-14122,

    ‘rou’=>-14112,

    ‘ru’=>-14109,

    ‘ruan’=>-14099,

    ‘rui’=>-14097,

    ‘run’=>-14094,

    ‘ruo’=>-14092,

    ‘sa’=>-14090,

    ‘sai’=>-14087,

    ‘san’=>-14083,

    ‘sang’=>-13917,

    ‘sao’=>-13914,

    ‘se’=>-13910,

    ‘sen’=>-13907,

    ‘seng’=>-13906,

    ‘sha’=>-13905,

    ‘shai’=>-13896,

    ‘shan’=>-13894,

    ‘shang’=>-13878,

    ‘shao’=>-13870,

    ‘she’=>-13859,

    ‘shen’=>-13847,

    ‘sheng’=>-13831,

    ‘shi’=>-13658,

    ‘shou’=>-13611,

    ‘shu’=>-13601,

    ‘shua’=>-13406,

    ‘shuai’=>-13404,

    ‘shuan’=>-13400,

    ‘shuang’=>-13398,

    ‘shui’=>-13395,

    ‘shun’=>-13391,

    ‘shuo’=>-13387,

    ‘si’=>-13383,

    ‘song’=>-13367,

    ‘sou’=>-13359,

    ‘su’=>-13356,

    ‘suan’=>-13343,

    ‘sui’=>-13340,

    ‘sun’=>-13329,

    ‘suo’=>-13326,

    ‘ta’=>-13318,

    ‘tai’=>-13147,

    ‘tan’=>-13138,

    ‘tang’=>-13120,

    ‘tao’=>-13107,

    ‘te’=>-13096,

    ‘teng’=>-13095,

    ‘ti’=>-13091,

    ‘tian’=>-13076,

    ‘tiao’=>-13068,

    ‘tie’=>-13063,

    ‘ting’=>-13060,

    ‘tong’=>-12888,

    ‘tou’=>-12875,

    ‘tu’=>-12871,

    ‘tuan’=>-12860,

    ‘tui’=>-12858,

    ‘tun’=>-12852,

    ‘tuo’=>-12849,

    ‘wa’=>-12838,

    ‘wai’=>-12831,

    ‘wan’=>-12829,

    ‘wang’=>-12812,

    ‘wei’=>-12802,

    ‘wen’=>-12607,

    ‘weng’=>-12597,

    ‘wo’=>-12594,

    ‘wu’=>-12585,

    ‘xi’=>-12556,

    ‘xia’=>-12359,

    ‘xian’=>-12346,

    ‘xiang’=>-12320,

    ‘xiao’=>-12300,

    ‘xie’=>-12120,

    ‘xin’=>-12099,

    ‘xing’=>-12089,

    ‘xiong’=>-12074,

    ‘xiu’=>-12067,

    ‘xu’=>-12058,

    ‘xuan’=>-12039,

    ‘xue’=>-11867,

    ‘xun’=>-11861,

    ‘ya’=>-11847,

    ‘yan’=>-11831,

    ‘yang’=>-11798,

    ‘yao’=>-11781,

    ‘ye’=>-11604,

    ‘yi’=>-11589,

    ‘yin’=>-11536,

    ‘ying’=>-11358,

    ‘yo’=>-11340,

    ‘yong’=>-11339,

    ‘you’=>-11324,

    ‘yu’=>-11303,

    ‘yuan’=>-11097,

    ‘yue’=>-11077,

    ‘yun’=>-11067,

    ‘za’=>-11055,

    ‘zai’=>-11052,

    ‘zan’=>-11045,

    ‘zang’=>-11041,

    ‘zao’=>-11038,

    ‘ze’=>-11024,

    ‘zei’=>-11020,

    ‘zen’=>-11019,

    ‘zeng’=>-11018,

    ‘zha’=>-11014,

    ‘zhai’=>-10838,

    ‘zhan’=>-10832,

    ‘zhang’=>-10815,

    ‘zhao’=>-10800,

    ‘zhe’=>-10790,

    ‘zhen’=>-10780,

    ‘zheng’=>-10764,

    ‘zhi’=>-10587,

    ‘zhong’=>-10544,

    ‘zhou’=>-10533,

    ‘zhu’=>-10519,

    ‘zhua’=>-10331,

    ‘zhuai’=>-10329,

    ‘zhuan’=>-10328,

    ‘zhuang’=>-10322,

    ‘zhui’=>-10315,

    ‘zhun’=>-10309,

    ‘zhuo’=>-10307,

    ‘zi’=>-10296,

    ‘zong’=>-10281,

    ‘zou’=>-10274,

    ‘zu’=>-10270,

    ‘zuan’=>-10262,

    ‘zui’=>-10260,

    ‘zun’=>-10256,

    ‘zuo’=>-10254

    );

    //全部拼音

    public function getAllPY($chinese, $delimiter = ”, $length = 0) {

    $py = $this->zh_to_pys($chinese, $delimiter);

    if($length) {

    $py = substr($py, 0, $length);

    }

    return $py;

    }

    //拼音首个字母

    public function getFirstPY($chinese){

    $result = ” ;

    for ($i=0; $i

    $p = ord(substr($chinese,$i,1));

    if ($p>160) {

    $q = ord(substr($chinese,++$i,1));

    $p = $p*256 + $q – 65536;

    }

    $result .= substr($this->zh_to_py($p),0,1);

    }

    return $result ;

    }

    //——————-中文转拼音——————————–//

    private function zh_to_py($num, $blank = ”) {

    if($num>0 && $num<160 ) {

    return chr($num);

    } elseif ($num<-20319||$num>-10247) {

    return $blank;

    } else {

    foreach ($this->pylist as $py => $code) {

    if($code > $num) break;

    $result = $py;

    }

    return $result;

    }

    }

    private function zh_to_pys($chinese, $delimiter = ‘ ‘, $first=0){

    $result = array();

    for($i=0; $i

    $p = ord(substr($chinese,$i,1));

    if($p>160) {

    $q = ord(substr($chinese,++$i,1));

    $p = $p*256 + $q – 65536;

    }

    $result[] = $this->zh_to_py($p);

    if ($first) {

    return $result[0];

    }

    }

    return implode($delimiter, $result);

    }

    }

    我们把它用在thinkphp中,存放位置如下

    使用如下

    要把字符转为gbk才可以使用哦,如上

    相关文章

      网友评论

        本文标题:汉字转拼音,结合Thinkphp使用

        本文链接:https://www.haomeiwen.com/subject/pxeweftx.html