Heim  >  Artikel  >  Backend-Entwicklung  >  php中文转拼音的代码_PHP教程

php中文转拼音的代码_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:39:141364Durchsuche

例子:

<?<span php
</span><span /*</span><span *
* php中文转拼音
* 整理:www.jbxue.com 脚本学堂
* 日期:2014/2/11
</span><span */</span>
<span function</span> Pinyin(<span $_String</span>, <span $_Code</span>='gb2312'<span )
{
</span><span $_DataKey</span> = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha".
"|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|".
"cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e|en|er".
"|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui".
"|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang".
"|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang".
"|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue".
"|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne".
"|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen".
"|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang".
"|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|".
"she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|".
"tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu".
"|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you".
"|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|".
"zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo"<span ;
</span><span $_DataValue</span> = "-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"<span ;
</span><span $_TDataKey</span> = <span explode</span>('|', <span $_DataKey</span><span );
</span><span $_TDataValue</span> = <span explode</span>('|', <span $_DataValue</span><span );
</span><span $_Data</span> = (<span PHP_VERSION</span>>='5.0') ? <span array_combine</span>(<span $_TDataKey</span>, <span $_TDataValue</span>) : _Array_Combine(<span $_TDataKey</span>, <span $_TDataValue</span><span );
</span><span arsort</span>(<span $_Data</span><span );
</span><span reset</span>(<span $_Data</span><span );
</span><span if</span>(<span $_Code</span> != 'gb2312') <span $_String</span> = _U2_Utf8_Gb(<span $_String</span><span );
</span><span $_Res</span> = ''<span ;
</span><span for</span>(<span $i</span>=0; <span $i</span><<span strlen</span>(<span $_String</span>); <span $i</span>++<span )
{
</span><span $_P</span> = <span ord</span>(<span substr</span>(<span $_String</span>, <span $i</span>, 1<span ));
</span><span if</span>(<span $_P</span>>160) { <span $_Q</span> = <span ord</span>(<span substr</span>(<span $_String</span>, ++<span $i</span>, 1)); <span $_P</span> = <span $_P</span>*256 + <span $_Q</span> - 65536<span ; }
</span><span $_Res</span> .= _Pinyin(<span $_P</span>, <span $_Data</span><span );
}
</span><span return</span> <span preg_replace</span>("/[^a-z0-9]*/", '', <span $_Res</span><span );
}
</span><span function</span> _Pinyin(<span $_Num</span>, <span $_Data</span><span )
{
</span><span if</span> (<span $_Num</span>>0 && <span $_Num</span><160 ) <span return</span> <span chr</span>(<span $_Num</span><span );
</span><span elseif</span>(<span $_Num</span><-20319 || <span $_Num</span>>-10247) <span return</span> ''<span ;
</span><span else</span><span  {
</span><span foreach</span>(<span $_Data</span> <span as</span> <span $k</span>=><span $v</span>){ <span if</span>(<span $v</span><=<span $_Num</span>) <span break</span><span ; }
</span><span return</span> <span $k</span><span ;
}
}
</span><span function</span> _U2_Utf8_Gb(<span $_C</span><span )
{
</span><span $_String</span> = ''<span ;
</span><span if</span>(<span $_C</span> < 0x80) <span $_String</span> .= <span $_C</span><span ;
</span><span elseif</span>(<span $_C</span> < 0x800<span )
{
</span><span $_String</span> .= <span chr</span>(0xC0 | <span $_C</span>>>6<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span> & 0x3F<span );
}</span><span elseif</span>(<span $_C</span> < 0x10000<span ){
</span><span $_String</span> .= <span chr</span>(0xE0 | <span $_C</span>>>12<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span>>>6 & 0x3F<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span> & 0x3F<span );
} </span><span elseif</span>(<span $_C</span> < 0x200000<span ) {
</span><span $_String</span> .= <span chr</span>(0xF0 | <span $_C</span>>>18<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span>>>12 & 0x3F<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span>>>6 & 0x3F<span );
</span><span $_String</span> .= <span chr</span>(0x80 | <span $_C</span> & 0x3F<span );
}
</span><span return</span> <span iconv</span>('UTF-8', 'GB2312', <span $_String</span><span );
}
</span><span function</span> _Array_Combine(<span $_Arr1</span>, <span $_Arr2</span><span )
{
</span><span for</span>(<span $i</span>=0; <span $i</span><<span count</span>(<span $_Arr1</span>); <span $i</span>++) <span $_Res</span>[<span $_Arr1</span>[<span $i</span>]] = <span $_Arr2</span>[<span $i</span><span ];
</span><span return</span> <span $_Res</span><span ;
}
</span><span //</span><span 用法:
//第二个参数留空则为gb1232编码
//echo Pinyin('安徽');
//第二个参数随意设置则为utf-8编码</span>
<span echo</span> Pinyin('安徽软件有限公司',1<span );
</span>?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/733034.htmlTechArticle例子: ? Pinyin( , ='gb2312' = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha"."|chai|chan|chang|chao|che|chen|...
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