ホームページ >php教程 >php手册 >中国語の文字をピンインに変換する PHP 関数

中国語の文字をピンインに変換する PHP 関数

WBOY
WBOYオリジナル
2016-06-21 08:57:471356ブラウズ

汉字转换成拼音函数,写到URL可以做搜索引擎优化

以下は引用部分です:
// 中国語の文字をピンインに変換し、GOOGLE 最適化のために URL に書き込みます
// 呼び出し関数名: ピンイン($str)
//******************漢字変換ピンイン機能開始***************** *****
$d=array(
array("a",-20319),
array("ai",-20317),
array("an",-20304 )、
array(" ang"、-20295)、
array("ao"、-20292)、
array("ba"、-20283)、
array("bai"、 -20265)、
array ("ban"、-20257)、
array("bang"、-20242)、
array("bao"、-20230)、
array("bei ",-20051)、
array("ben",-20036)、
array("beng",-20032)、
array("bi",-20026)、
array( "bian",-20002)、
array("biao",-19990)、
array("bie",-19986)、
array("bin",-19982)、
array("bing",-19976 ),
array("bo",-19805),
array("bu",-19784),
array("ca",-19775),
array("cai", -19774)、
array("can",-19763)、
array("cang",-19756)、
array("cao",-19751) 、
array("ce ",-19746)、
array("ceng",-19741)、
array("cha",-19739)、
array("chai",- 19728),
array( "chan",-19725),
array("chang",-19715),
array("chao",-195​​40),
array("che" 、-19531)、
array("chen"、-19525)、
array("chen"、-19515)、
array("chi"、-19500)、
array(" chong",-19484)、
array("chou",-19479)、
array("chu",-19467)、
array("chuai",-19289)、
array ("chuan",-19288) 、
array("chuang",-19281)、
array("chui",-19275)、
array("chun",-19270)、
array("chuo",- 19263)、
array("ci",-19261)、
array("cong",-19249)、
array("cou",-19243)、
array("cu" ,-19242)、
array("cuan",-19238)、
array("cui",-19235)、
array("cun",-19227) )、
array(" cuo"、-19224)、
array("da"、-19218)、
array("dai"、-19212)、
array("dan​​"、 -19038)、
array ("dan​​g"、-19023)、
array("dao"、-19018)、
array("de"、-19006)、
array("deng ",-19003)、
array("di",-18996)、
array("dian",-18977)、
array("diao",-18961)、
array( "die",-18952)、
array("ding",-18783)、
array("diu",-18774)、
array("dong",-18773)、
array("dou",-18763 ),
array("du",-18756),
array("duan",-18741),
array("dui",-18735),
array("dun", -18731)、
array("duo",-18722)、
array("e",-18710)、
array("en",-18697) 、
array("er ",-18696)、
array("fa",-18526)、
array("fan",-18518)、
array("fang" ,-18501)、
array( "fei"、-18490)、
array("fen"、-18478)、
array("feng"、-18463)、
array(" fo",-18448)、
array("fou",-18447)、
array("fu",-18446)、
array("ga",-18239)、
array ("ガイ",-18237)、
array("ガン",-18231)、
array("ギャン",-18220)、
array("ガオ",-18211)、
array("ge",-18201) 、
array("gei",-18184)、
array("gen",-18183)、
array("geng",-18181)、
array("gong",- 18012)、
array("gou",-17997)、
array("gu",-17988)、
array("gua",-17970) )、
array("guai"、-17964)、
array("guan"、-17961)、
array("guang"、-17950)、
array("gui"、 -17947)、
array(" 銃"、-17931)、
array("guo"、-17928)、
array("ha"、-17922)、
array("hai ",-17759)、
array ("han"、-17752)、
array("hang"、-17733)、
array("hao"、-17730)、
array( "he",-17721)、
array("hei",-17703)、
array("hen",-17701)、
array("heng",-17697)、
array("hong",-17692),
array("hou",-17683),
array("hu",-17676),
array("hua",-17496),
array("huai",-17487 )、
array("huan",-17482)、
array("huang",-17468)、
array("hui",-17454) 、
array("hun", -17433)、
array("huo",-17427)、
array("ji",-17417)、
array("jia",- 17202)、
array("jian "、-17185)、
array("jiang"、-16983)、
array("jiao"、-16970)、
array("jie" ,-16942),
array( "jin",-16915),
array("jing",-16733),
array("jiong",-16708),
array(" jiu",-16706),
array("ju",-16689),
array("juan",-16664),
array("jue",-16657),
array("one",-16647),
array("if",-16474),
array("kai",-16470),
array("right",-16465),
array("right",-16459),
array("you",-16452),
array("and",-16448) ,
array("ken",-16433),
array("ken",-16429),
array("kong",-16427),
array("kou",- 16423),
array("my",-16419),
array("here",-16412),
array("quai",-16407),
array("here" ,-16403),
array("穴",-16401),
array("くい",-16393),
array("くん",-16220),
array(" Kuo",-16216),
array("la",-16212),
array("left",-16205),
array("and",-16202),
array ("only",-16187),
array("left",-16180),
array("le",-16171),
array("le",-16169),
array("leng",-16158),
array("li",-16155),
array("lia",-15959),
array("lian",-15958),
array("liang",-15944),
array("liao",-15933),
array("lie",-15920),
array("lin",-15915) ),
array("ling",-15903),
array("liu",-15889),
array("long",-15878),
array("lou", -15707)、
array("lu",-15701)、
array("lv"、-15681)、
array("luan"、-15667)、
array("lue) ",-15661),
array("lun",-15659),
array("luo",-15652),
array("ma",-15640),
array( "may",-15631),
array("man",-15625),
array("man",-15454),
array("left",-15448),
array("me",-15436),
array("mei",-15435),
array("men",-15419),
array("meng",-15416),
array("mi",-15408),
array("mian",-15394),
array("miao",-15385),
array("mie",-15377) ,
array("min",-15375),
array("ming",-15369),
array("miu",-15363),
array("mo",- 15362),
array("mou",-15183),
array("mu",-15180),
array("na",-15165),
array("nai" ,-15158),
array("name",-15153),
array("now",-15150),
array("where",-15149),
array(" ne",-15144),
array("nei",-15143),
array("here",-15141),
array("see",-15140),
array ("ni",-15139),
array("nian",-15128),
array("niang",-15121),
array("niang",-15119),
array("new",-15117),
array("new",-15110),
array("new",-15109),
array("new",-14941),
array("nong",-14937),
array("nu",-14933),
array("nv",-14930),
array("nuan",-14929) ),
array("new",-14928),
array("new",-14926),
array("or",-14922),
array("ou", -14921),
array("if",-14914),
array("if",-14908),
array("pan",-14902),
array("pan " ",-14894),
array("pao",-14889),
array("pei",-14882),
array("pen",-14873),
array ( "peng",-14871),
array("pi",-14857),
array("pian",-14678),
array("piao",-14674),
array("pi",-14670),
array("pin",-14668),
array("ping",-14663),
array("po",-14654),
array("pu",-14645),
array("qi",-14630),
array("qia",-14594),
array("qian",-14429) ) ,
array("qiang",-14407),
array("qiao",-14399),
array("qie",-14384),
array("qin", - 14379)、
array("qing"、-14368)、
array("qiong"、-14355)、
array("qiu"、-14353)、
array("qu " ,-14345),
array("quan",-14170),
array("que",-14159),
array("qun",-14151),
array( " ran",-14149),
array("rang",-14145),
array("rao",-14140),
array("re",-14137),
array ("ren",-14135),
array("color",-14125),
array("in",-14123),
array("wrong",-14122),
array("ru",-14112),
array("ru",-14109),
array("ruan",-14099),
array("rui",-14097) 、
array("run",-14094),
array("two",-14092),
array("now",-14090),
array("now",- 14087 ),
array("san",-14083),
array("san",-13917),
array("sao",-13914),
array("if" 、 -13910)、
array("sen"、-13907)、
array("seng"、-13906)、
array("sha"、-13905)、
array("シャイ ",-13896),
array("shan",-13894),
array("shang",-13878),
array("shao",-13870),
array ( "彼女",-13859),
array("shen",-13847),
array("sheng",-13831),
array("shi",-13658),
array("shou",-13611),
array("shu",-13601),
array("shua",-13406),
array("shuai",-13404),
array("shuan",-13400),
array("shuang",-13398),
array("shui",-13395),
array("shun",-13391),
array("shuo",-13387),
array("si",-13383),
array("song",-13367),
array("sou",-13359),
array("su",-13356) ,
array("suan",-13343),
array("sui",-13340),
array("sun",-13329),
array("suo",- 13326),
array("ta",-13318),
array("ti",-13147),
array("and",-13138),
array("only" ,-13120),
array("human",-13107),
array("of",-13096),
array("of",-13095),
array(" ti",-13091),
array("tian",-13076),
array("tiao",-13068),
array("tie",-13063),
array ("ting",-13060),
array("tong",-12888),
array("tou",-12875),
array("tu",-12871),
array("true",-12860),
array("tui",-12858),
array("new",-12852),
array("true",-12849),
array("wai",-12838),
array("wai",-12831),
array("one",-12829),
array("eye",-12812 ),
array("wei",-12802),
array("we",-12607),
array("we",-12597),
array("wo", -12594)、
array("wu"、-12585)、
array("xi"、-12556)、
array("xia"、-12359)、
array("xian ",-12346),
array("xiang",-12320),
array("xiao",-12300),
array("xie",-12120),
array( "xin",-12099),
array("xing",-12089),
array("xiong",-12074),
array("xiu",-12067),
array("xu",-12058),
array("xuan",-12039),
array("xue",-11867),
array("xun",-11861),
array("ya",-11847),
array("yan",-11831),
array("yang",-11798),
array("yao",-11781) 、
array("ye",-11604),
array("yi",-11589),
array("yin",-11536),
array("ying",- 11358),
array("yo",-11340),
array("yong",-11339),
array("you",-11324),
array("yu" ,-11303),
array("yuan",-11097),
array("yue",-11077),
array("yun",-11067),
array(" za",-11055),
array("zai",-11052),
array("zan",-11045),
array("zang",-11041),
array ("zao",-11038),
array("ze",-11024),
array("zei",-11020),
array("zen",-11019),
array("zeng",-11018),
array("zha",-11014),
array("zhai",-10838),
array("zhan",-10832),
array("zhang",-10815),
array("zhao",-10800),
array("zhe",-10790),
array("zhen",-10780) ),
array("zheng",-10764),
array("zhi",-10587),
array("zhong",-10544),
array("zhou", -10533)、
array("zhu"、-10519)、
array("zhua"、-10331)、
array("zhuai"、-10329)、
array("zhuan" ",-10328),
array("zhuang",-10322),
array("zhui",-10315),
array("zhun",-10309),
array( "zhuo",-10307),
array("zi",-10296),
array("zong",-10281),
array("zou",-10274),
array("zun",-10270),
array("zuan",-10262),
array("zui",-10260),
array("zun",-10256),
array("動物園",-10254)
); 
関数 g($num){
グローバル $d; 
if($num>0&&$num<160){
return chr($num); 
}
elseif($num<-20319||$num>-10247){
return ""; 
}else{
for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]<=$num )break;}
return $d[$i][0]; 
}
}
function ag($num){
global $d; 
if($num>0&&$num<160){
return chr($num); 
}
elseif($num<-20319||$num>-10247){
return ""; 
}else{
for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]<=$num )break;}
return substr($d[$i][0],0,1); 
}
}
//function right($str){
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1));
if($p>160){
$q=ord(substr($str,++$i,1));
$p=$p*256+$q-65536;
}
$ret.=ag($p);
    }
return $ret;
}
//获取全部拼音
function pinyin($str){
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1));
if($p>160){
$q=ord(substr($str,++$i,1));
$p=$p*256+$q-65536;
}
$ret.=g($p);
}
return $ret;
}
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。