Home  >  Article  >  php教程  >  PHP 汉字转拼音(首拼音,所有拼音)

PHP 汉字转拼音(首拼音,所有拼音)

WBOY
WBOYOriginal
2016-06-06 09:53:011921browse

这个是在网上找的,找到的转换后是乱码,现在这个是网上找的两上合成的.记录一下,或许有人有需要

<span style="color: #008080;">  1</span> <span style="color: #000000;">php
</span><span style="color: #008080;">  2</span> <span style="color: #008000;">/*</span><span style="color: #008000;">*
</span><span style="color: #008080;">  3</span> <span style="color: #008000;"> +------------------------------------------------------
</span><span style="color: #008080;">  4</span> <span style="color: #008000;"> *    PHP 汉字转拼音
</span><span style="color: #008080;">  5</span> <span style="color: #008000;"> +------------------------------------------------------
</span><span style="color: #008080;">  6</span> <span style="color: #008000;"> *    使用方法:
</span><span style="color: #008080;">  7</span> <span style="color: #008000;"> *        $py = new PinYin();
</span><span style="color: #008080;">  8</span> <span style="color: #008000;"> *      echo $py->getAllPY("输出汉字所有拼音"); //shuchuhanzisuoyoupinyin
</span><span style="color: #008080;">  9</span> <span style="color: #008000;"> *        echo $py->getFirstPY("输出汉字首拼音"); //schzspy
</span><span style="color: #008080;"> 10</span> <span style="color: #008000;"> +------------------------------------------------------
</span><span style="color: #008080;"> 11</span>  <span style="color: #008000;">*/</span>
<span style="color: #008080;"> 12</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> PinYin {
</span><span style="color: #008080;"> 13</span>     <span style="color: #0000ff;">private</span> <span style="color: #800080;">$pylist</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(
</span><span style="color: #008080;"> 14</span>     'a'=>-20319,'ai'=>-20317,'an'=>-20304,'ang'=>-20295,'ao'=>-20292,
<span style="color: #008080;"> 15</span>     '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,
<span style="color: #008080;"> 16</span>     '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,
<span style="color: #008080;"> 17</span>     '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,
<span style="color: #008080;"> 18</span>     'e'=>-18710,'en'=>-18697,'er'=>-18696,
<span style="color: #008080;"> 19</span>     'fa'=>-18526,'fan'=>-18518,'fang'=>-18501,'fei'=>-18490,'fen'=>-18478,'feng'=>-18463,'fo'=>-18448,'fou'=>-18447,'fu'=>-18446,
<span style="color: #008080;"> 20</span>     '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,
<span style="color: #008080;"> 21</span> 'gun'=>-17931,'guo'=>-17928,
<span style="color: #008080;"> 22</span>     '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,
<span style="color: #008080;"> 23</span> 'hun'=>-17433,'huo'=>-17427,
<span style="color: #008080;"> 24</span>     '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,
<span style="color: #008080;"> 25</span>     '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,
<span style="color: #008080;"> 26</span>     '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,
<span style="color: #008080;"> 27</span> 'long'=>-15878,'lou'=>-15707,'lu'=>-15701,'lv'=>-15681,'luan'=>-15667,'lue'=>-15661,'lun'=>-15659,'luo'=>-15652,
<span style="color: #008080;"> 28</span>     '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,
<span style="color: #008080;"> 29</span>     '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,
<span style="color: #008080;"> 30</span> 'nong'=>-14937,'nu'=>-14933,'nv'=>-14930,'nuan'=>-14929,'nue'=>-14928,'nuo'=>-14926,
<span style="color: #008080;"> 31</span>     'o'=>-14922,'ou'=>-14921,
<span style="color: #008080;"> 32</span>     '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,
<span style="color: #008080;"> 33</span>     '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,
<span style="color: #008080;"> 34</span>     '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,
<span style="color: #008080;"> 35</span>     '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,
<span style="color: #008080;"> 36</span>     '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,
<span style="color: #008080;"> 37</span>     'wa'=>-12838,'wai'=>-12831,'wan'=>-12829,'wang'=>-12812,'wei'=>-12802,'wen'=>-12607,'weng'=>-12597,'wo'=>-12594,'wu'=>-12585,
<span style="color: #008080;"> 38</span>     '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,
<span style="color: #008080;"> 39</span>     '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,
<span style="color: #008080;"> 40</span>     '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,
<span style="color: #008080;"> 41</span> 'zui'=>-10260,'zun'=>-10256,'zuo'=>-10254
<span style="color: #008080;"> 42</span> <span style="color: #000000;">    );
</span><span style="color: #008080;"> 43</span>     
<span style="color: #008080;"> 44</span>     
<span style="color: #008080;"> 45</span>     <span style="color: #008000;">/*</span><span style="color: #008000;">*
</span><span style="color: #008080;"> 46</span> <span style="color: #008000;">     +---------------------------------------------------------------------------------
</span><span style="color: #008080;"> 47</span> <span style="color: #008000;">     *    获取全部拼音
</span><span style="color: #008080;"> 48</span> <span style="color: #008000;">     +---------------------------------------------------------------------------------
</span><span style="color: #008080;"> 49</span> <span style="color: #008000;">     *    @return string 
</span><span style="color: #008080;"> 50</span> <span style="color: #008000;">     +---------------------------------------------------------------------------------
</span><span style="color: #008080;"> 51</span>      <span style="color: #008000;">*/</span>
<span style="color: #008080;"> 52</span>     <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> getAllPY(<span style="color: #800080;">$chinese</span>, <span style="color: #800080;">$delimiter</span> = '', <span style="color: #800080;">$length</span> = 0,<span style="color: #800080;">$charset</span>='utf-8'<span style="color: #000000;">) {
</span><span style="color: #008080;"> 53</span>         <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$charset</span> != 'gb2312') <span style="color: #800080;">$chinese</span> = <span style="color: #800080;">$this</span>->_U2_Utf8_Gb(<span style="color: #800080;">$chinese</span><span style="color: #000000;">);
</span><span style="color: #008080;"> 54</span>        <span style="color: #800080;">$py</span> = <span style="color: #800080;">$this</span>->zh_to_pys(<span style="color: #800080;">$chinese</span>, <span style="color: #800080;">$delimiter</span><span style="color: #000000;">);
</span><span style="color: #008080;"> 55</span>        <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$length</span><span style="color: #000000;">) {
</span><span style="color: #008080;"> 56</span>            <span style="color: #800080;">$py</span> = <span style="color: #008080;">substr</span>(<span style="color: #800080;">$py</span>, 0, <span style="color: #800080;">$length</span><span style="color: #000000;">);
</span><span style="color: #008080;"> 57</span> <span style="color: #000000;">       }
</span><span style="color: #008080;"> 58</span>        <span style="color: #0000ff;">return</span> <span style="color: #800080;">$py</span><span style="color: #000000;">;
</span><span style="color: #008080;"> 59</span> <span style="color: #000000;">    }
</span><span style="color: #008080;"> 60</span>     
<span style="color: #008080;"> 61</span>     <span style="color: #008000;">/*</span><span style="color: #008000;">*
</span><span style="color: #008080;"> 62</span> <span style="color: #008000;">     +--------------------------------------------------------------------------------
</span><span style="color: #008080;"> 63</span> <span style="color: #008000;">     *    获取拼音首字母
</span><span style="color: #008080;"> 64</span> <span style="color: #008000;">     +--------------------------------------------------------------------------------
</span><span style="color: #008080;"> 65</span> <span style="color: #008000;">     *    @return string
</span><span style="color: #008080;"> 66</span> <span style="color: #008000;">     +--------------------------------------------------------------------------------
</span><span style="color: #008080;"> 67</span>      <span style="color: #008000;">*/</span>
<span style="color: #008080;"> 68</span>     <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> getFirstPY(<span style="color: #800080;">$chinese</span>,<span style="color: #800080;">$charset</span>='utf-8'<span style="color: #000000;">){
</span><span style="color: #008080;"> 69</span>       <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$charset</span> != 'gb2312') <span style="color: #800080;">$chinese</span> = <span style="color: #800080;">$this</span>->_U2_Utf8_Gb(<span style="color: #800080;">$chinese</span><span style="color: #000000;">);
</span><span style="color: #008080;"> 70</span>        <span style="color: #800080;">$result</span> = ''<span style="color: #000000;"> ;
</span><span style="color: #008080;"> 71</span>        <span style="color: #0000ff;">for</span> (<span style="color: #800080;">$i</span>=0; <span style="color: #800080;">$i</span>strlen(<span style="color: #800080;">$chinese</span>); <span style="color: #800080;">$i</span>++<span style="color: #000000;">) {
</span><span style="color: #008080;"> 72</span>            <span style="color: #800080;">$p</span> = <span style="color: #008080;">ord</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$chinese</span>,<span style="color: #800080;">$i</span>,1<span style="color: #000000;">));
</span><span style="color: #008080;"> 73</span>            <span style="color: #0000ff;">if</span> (<span style="color: #800080;">$p</span>>160<span style="color: #000000;">) {
</span><span style="color: #008080;"> 74</span>               <span style="color: #800080;">$q</span> = <span style="color: #008080;">ord</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$chinese</span>,++<span style="color: #800080;">$i</span>,1<span style="color: #000000;">));
</span><span style="color: #008080;"> 75</span>               <span style="color: #800080;">$p</span> = <span style="color: #800080;">$p</span>*256 + <span style="color: #800080;">$q</span> - 65536<span style="color: #000000;">;
</span><span style="color: #008080;"> 76</span> <span style="color: #000000;">           }
</span><span style="color: #008080;"> 77</span>            <span style="color: #800080;">$result</span> .= <span style="color: #008080;">substr</span>(<span style="color: #800080;">$this</span>->zh_to_py(<span style="color: #800080;">$p</span>),0,1<span style="color: #000000;">);
</span><span style="color: #008080;"> 78</span> <span style="color: #000000;">       }
</span><span style="color: #008080;"> 79</span>        <span style="color: #0000ff;">return</span> <span style="color: #800080;">$result</span><span style="color: #000000;"> ;
</span><span style="color: #008080;"> 80</span> <span style="color: #000000;">    }
</span><span style="color: #008080;"> 81</span>   
<span style="color: #008080;"> 82</span>       <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> _U2_Utf8_Gb(<span style="color: #800080;">$_C</span><span style="color: #000000;">){
</span><span style="color: #008080;"> 83</span>             <span style="color: #800080;">$_String</span> = ''<span style="color: #000000;">;
</span><span style="color: #008080;"> 84</span>             <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$_C</span> $_String .= <span style="color: #800080;">$_C</span><span style="color: #000000;">;
</span><span style="color: #008080;"> 85</span>             <span style="color: #0000ff;">elseif</span>(<span style="color: #800080;">$_C</span> )
<span style="color: #008080;"> 86</span> <span style="color: #000000;">            {
</span><span style="color: #008080;"> 87</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0xC0 | <span style="color: #800080;">$_C</span>>>6<span style="color: #000000;">);
</span><span style="color: #008080;"> 88</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span> & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 89</span>             }<span style="color: #0000ff;">elseif</span>(<span style="color: #800080;">$_C</span> ){
<span style="color: #008080;"> 90</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0xE0 | <span style="color: #800080;">$_C</span>>>12<span style="color: #000000;">);
</span><span style="color: #008080;"> 91</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span>>>6 & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 92</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span> & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 93</span>             } <span style="color: #0000ff;">elseif</span>(<span style="color: #800080;">$_C</span> ) {
<span style="color: #008080;"> 94</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0xF0 | <span style="color: #800080;">$_C</span>>>18<span style="color: #000000;">);
</span><span style="color: #008080;"> 95</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span>>>12 & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 96</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span>>>6 & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 97</span>             <span style="color: #800080;">$_String</span> .= <span style="color: #008080;">chr</span>(0x80 | <span style="color: #800080;">$_C</span> & 0x3F<span style="color: #000000;">);
</span><span style="color: #008080;"> 98</span> <span style="color: #000000;">            }
</span><span style="color: #008080;"> 99</span>             <span style="color: #0000ff;">return</span> <span style="color: #008080;">iconv</span>('UTF-8', 'GB2312', <span style="color: #800080;">$_String</span><span style="color: #000000;">);
</span><span style="color: #008080;">100</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">101</span>  
<span style="color: #008080;">102</span>     <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> zh_to_py(<span style="color: #800080;">$num</span>, <span style="color: #800080;">$blank</span> = ''<span style="color: #000000;">) {
</span><span style="color: #008080;">103</span>        <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$num</span>>0 && <span style="color: #800080;">$num</span> ) {
<span style="color: #008080;">104</span>            <span style="color: #0000ff;">return</span> <span style="color: #008080;">chr</span>(<span style="color: #800080;">$num</span><span style="color: #000000;">);
</span><span style="color: #008080;">105</span>        } <span style="color: #0000ff;">elseif</span> (<span style="color: #800080;">$num</span>$num>-10247<span style="color: #000000;">) {
</span><span style="color: #008080;">106</span>            <span style="color: #0000ff;">return</span> <span style="color: #800080;">$blank</span><span style="color: #000000;">;
</span><span style="color: #008080;">107</span>        } <span style="color: #0000ff;">else</span><span style="color: #000000;"> {
</span><span style="color: #008080;">108</span>            <span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$this</span>->pylist <span style="color: #0000ff;">as</span> <span style="color: #800080;">$py</span> => <span style="color: #800080;">$code</span><span style="color: #000000;">) {
</span><span style="color: #008080;">109</span>               <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$code</span> > <span style="color: #800080;">$num</span>) <span style="color: #0000ff;">break</span><span style="color: #000000;">;
</span><span style="color: #008080;">110</span>               <span style="color: #800080;">$result</span> = <span style="color: #800080;">$py</span><span style="color: #000000;">;
</span><span style="color: #008080;">111</span> <span style="color: #000000;">           }
</span><span style="color: #008080;">112</span>            <span style="color: #0000ff;">return</span> <span style="color: #800080;">$result</span><span style="color: #000000;">;
</span><span style="color: #008080;">113</span> <span style="color: #000000;">       }
</span><span style="color: #008080;">114</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">115</span>       
<span style="color: #008080;">116</span>     <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> zh_to_pys(<span style="color: #800080;">$chinese</span>, <span style="color: #800080;">$delimiter</span> = ' ', <span style="color: #800080;">$first</span>=0<span style="color: #000000;">){
</span><span style="color: #008080;">117</span>        <span style="color: #800080;">$result</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">();
</span><span style="color: #008080;">118</span>        <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0; <span style="color: #800080;">$i</span>strlen(<span style="color: #800080;">$chinese</span>); <span style="color: #800080;">$i</span>++<span style="color: #000000;">) {
</span><span style="color: #008080;">119</span>            <span style="color: #800080;">$p</span> = <span style="color: #008080;">ord</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$chinese</span>,<span style="color: #800080;">$i</span>,1<span style="color: #000000;">));
</span><span style="color: #008080;">120</span>            <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$p</span>>160<span style="color: #000000;">) {
</span><span style="color: #008080;">121</span>               <span style="color: #800080;">$q</span> = <span style="color: #008080;">ord</span>(<span style="color: #008080;">substr</span>(<span style="color: #800080;">$chinese</span>,++<span style="color: #800080;">$i</span>,1<span style="color: #000000;">));
</span><span style="color: #008080;">122</span>               <span style="color: #800080;">$p</span> = <span style="color: #800080;">$p</span>*256 + <span style="color: #800080;">$q</span> - 65536<span style="color: #000000;">;
</span><span style="color: #008080;">123</span> <span style="color: #000000;">           }
</span><span style="color: #008080;">124</span>            <span style="color: #800080;">$result</span>[] = <span style="color: #800080;">$this</span>->zh_to_py(<span style="color: #800080;">$p</span><span style="color: #000000;">);
</span><span style="color: #008080;">125</span>            <span style="color: #0000ff;">if</span> (<span style="color: #800080;">$first</span><span style="color: #000000;">) {
</span><span style="color: #008080;">126</span>               <span style="color: #0000ff;">return</span> <span style="color: #800080;">$result</span>[0<span style="color: #000000;">];
</span><span style="color: #008080;">127</span> <span style="color: #000000;">           }
</span><span style="color: #008080;">128</span> <span style="color: #000000;">       }
</span><span style="color: #008080;">129</span>        <span style="color: #0000ff;">return</span> <span style="color: #008080;">implode</span>(<span style="color: #800080;">$delimiter</span>, <span style="color: #800080;">$result</span><span style="color: #000000;">);
</span><span style="color: #008080;">130</span> <span style="color: #000000;">    }
</span><span style="color: #008080;">131</span> }

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn