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

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

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

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

<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> }

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn