$拼音?=?$ this-& gt;Utf8_to("我是中國人");
//將漢字轉換成拼音(不支持生僻字)
函數(){
回聲?$ this-& gt;Utf8_to("我是好人");
}
/**
*?下面是漢語轉拼音。
*?@param?$s
*?@param?布爾?$isfirst
*?@回歸?線
*/
公?靜電?功能?utf8_to($s,$isfirst?=?假)?{
回歸?self::to(self::utf8 _ to _ GB 2312($ s),?$ is first);
}
公?靜電?功能?utf8_to_gb2312($s)?{
回歸?iconv('UTF-8 ',?GB 2312//忽略',?$ s);
}
//?該字符串必須編碼為GB2312。
公?靜電?功能?到($s,?$isfirst?=?假)?{
$res?=?'';
$len?=?strlen(美元);
$拼音_arr?=?self::get _拼音_數組();
for($ I = 0;?$ i & lt$ len?$i++)?{
$ascii?=?order($ s { $ I });
if($ascii?& gt?0x80)?{
$ascii2?=?order($ s { ++ $ I });
$ascii?=?$ascii?*?256?+?$ascii2?-?65536;
}
if($ascii?& lt?255?& amp& amp?$ascii?& gt?0)?{
如果(($ascii?& gt=?48?& amp& amp?$ascii?& lt=?57)?||?($ascii?& gt=?97?& amp& amp?$ascii?& lt=?122))?{
$res?。=?$ s { $ I };?//?0-9?無所不包的
}elseif($ascii?& gt=?65?& amp& amp?$ascii?& lt=?90)?{
$res?。=?strtolower($ s { $ I });?//?A-Z
}否則{
$res?。=?'_';
}
}elseif($ascii?& lt?-20319?||?$ascii?& gt?-10247)?{
$res?。=?'_';
}否則{
foreach($拼音_arr?作為?$ py = & gt$asc)?{
如果($asc?& lt=?$ascii)?{
$res?。=?$isfirst$py{0}?:?$ py
打破;
}
}
}
}
回歸?$ res
}
公?靜電?功能?to_first($s)?{
$ascii?=?訂單($ s { 0 });
if($ascii?& gt?0xE0)?{
$s?=?self::utf8 _ to _ GB 2312 $ s { 0 }。$s{1}。$ s { 2 });
}elseif($ascii?& lt?0x80)?{
if($ascii?& gt=?65?& amp& amp?$ascii?& lt=?90)?{
回歸?strtolow($ s { 0 });
}elseif($ascii?& gt=?97?& amp& amp?$ascii?& lt=?122)?{
回歸?$ s { 0 };
}否則{
回歸?假的;
}
}
if(strlen $ s)?& lt?2)?{
回歸?假的;
}
$asc?=?訂單($s{0})?*?256?+?訂單($s{1})?-?65536;
if($ ASC & gt;=-20319?& amp& amp?$ asc & lt=-20284)?回歸?a’;
if($ ASC & gt;=-20283?& amp& amp?$ asc & lt=-19776)?回歸?b’;
if($ ASC & gt;=-19775?& amp& amp?$ asc & lt=-19219)?回歸?c’;
if($ ASC & gt;=-19218?& amp& amp?$ asc & lt=-18711)?回歸?d’;
if($ ASC & gt;=-18710?& amp& amp?$ asc & lt=-18527)?回歸?e’;
if($ ASC & gt;=-18526?& amp& amp?$ asc & lt=-18240)?回歸?f’;
if($ ASC & gt;=-18239?& amp& amp?$ asc & lt=-17923)?回歸?g’;
if($ ASC & gt;=-17922?& amp& amp?$ asc & lt=-17418)?回歸?h’;
if($ ASC & gt;=-17417?& amp& amp?$ asc & lt=-16475)?回歸?j’;
if($ ASC & gt;=-16474?& amp& amp?$ asc & lt=-16213)?回歸?k’;
if($ ASC & gt;=-16212?& amp& amp?$ asc & lt=-15641)?回歸?l’;
if($ ASC & gt;=-15640?& amp& amp?$ asc & lt=-15166)?回歸?m’;
if($ ASC & gt;=-15165?& amp& amp?$ asc & lt=-14923)?回歸?n’;
if($ ASC & gt;=-14922?& amp& amp?$ asc & lt=-14915)?回歸?o’;
if($ ASC & gt;=-14914?& amp& amp?$ asc & lt=-14631)?回歸?p’;
if($ ASC & gt;=-14630?& amp& amp?$ asc & lt=-14150)?回歸?q’;
if($ ASC & gt;=-14149?& amp& amp?$ asc & lt=-14091)?回歸?r’;
if($ ASC & gt;=-14090?& amp& amp?$ asc & lt=-13319)?回歸?s’;
if($ ASC & gt;=-13318?& amp& amp?$ asc & lt=-12839)?回歸?t’;
if($ ASC & gt;=-12838?& amp& amp?$ asc & lt=-12557)?回歸?w’;
if($ ASC & gt;=-12556?& amp& amp?$ asc & lt=-11848)?回歸?x’;
if($ ASC & gt;=-11847?& amp& amp?$ asc & lt=-11056)?回歸?y’;
if($ ASC & gt;=-11055?& amp& amp?$ asc & lt=-10247)?回歸?z’;
回歸?假的;
}
公?靜電?功能?get _拼音_數組()?{
靜電?$ py _ arr
if(isset($py_arr))?回歸?$ py _ arr
$k?=?a | ai | an | ang | ao | ba | Bai | ban | bang | Bao | Bei | Ben | beng | bi | bian | Biao | bie | bin | bing | bo | bu | ca | Cai | Cang | Cao | ce |曾| cha | chai | chan | Chang | Chao | che | Chen | Chen | chi | chong | Chou | Chu |揣|傳| Chu | Chu | ci | cong | cou | Cu | cuan | cuan | Cui | Cui | CuO | da | Dai | Dan | dang | Dao | de | Deng | de | Deng
$v?=?'-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990|-19986| -19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746| -19741|-19739|-19728|-19725|-19715|-19540|-19531|-19525|-19515| -19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263| -19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212| -19038|-19023|-19018|-19006|-19003|-18996|-18977|-18961|-18952|-18783| -18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697| -18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446| -18239|-18237|-18231|-18220|-18211|-18201|-18184|-18183| -18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947| -17931|-17928|-17922|-17759|-17752|-17733|-17730|-17721|-17703|-17701| -17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468|-17454|-17433|-17427| -17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706| -16689|-16664|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433| -16429|-16427|-16423|-16419|-16412|-16407|-16403|-16401|-16393|-16220| -16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169| -16158|-16155|-15959|-15958|-15944|-15933|-15920|-15915|-15903|-15889| -15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652|-15640| -15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394| -15385|-15377|-15375|-15369|-15363|-15362|-15183|-15180|-15165| -15158|-15153|-15150|-15149|-15144|-15143|-15141| -15140|-15139|-15128|-15121|-15119|-15117| -15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926| -14922|-14921|-14914|-14908|-14902|-14894|-14889|-14882|-14873|-14871| -14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645|-14630|-14594|-14429| -14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159| -14151|-14149|-14145|-14140|-14137|-14135|-14125| -14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090| -14087|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894| -13878|-13870|-13859|-13847|-13831|-13658|-13611|-13601|-13406| -13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343| -13340|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096| -13095|-13091|-13076|-13068|-13063|-13060|-12888|-12875|-12871|-12860| -12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597| -12594|-12585|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074| -12067|-12058|-12039|-11867|-11861|-11847|-11831|-11798| -11781|-11604|-11589|-11536|-11358|-11340|-11339| -11324|-11303|-11097|-11077|-11067|-11055|-11052| -11045|-11041|-11038|-11024|-11020|-11019| -11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780|-10764| -10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309| -10307|-10296|-10281|-10274|-10270|-10262|-10260|-10256|-10254';
$key?=?分解(' | ',?$ k);
$瓦爾?=?分解(' | ',?$ v);
$py_arr?=?array_combine($key,?$ val);
arsort($ py _ arr);
回歸?$ py _ arr
}