Home Backend Development PHP Tutorial 能把汉字转化为拼音的一个函数_PHP

能把汉字转化为拼音的一个函数_PHP

Jun 01, 2016 pm 12:38 PM
array return str Pinyin Chinese character Now Convert

很多问题都是因为中文问题造成的
如文件名最好别用中文
现在的解决方法一般是产生一个ID,将这个ID做文件名
网页上如果url带汉字也经常出错
现在的解决方法一般用urlencode编码

现在用了这个转化,就好多了


原理:利用多维数组
1.添加索引
2.遍历数组


 $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",-19540),
  array("che",-19531),
  array("chen",-19525),
  array("cheng",-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("dang",-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("gai",-18237),
  array("gan",-18231),
  array("gang",-18220),
  array("gao",-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("gun",-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("jun",-16647),
  array("ka",-16474),
  array("kai",-16470),
  array("kan",-16465),
  array("kang",-16459),
  array("kao",-16452),
  array("ke",-16448),
  array("ken",-16433),
  array("keng",-16429),
  array("kong",-16427),
  array("kou",-16423),
  array("ku",-16419),
  array("kua",-16412),
  array("kuai",-16407),
  array("kuan",-16403),
  array("kuang",-16401),
  array("kui",-16393),
  array("kun",-16220),
  array("kuo",-16216),
  array("la",-16212),
  array("lai",-16205),
  array("lan",-16202),
  array("lang",-16187),
  array("lao",-16180),
  array("le",-16171),
  array("lei",-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("mai",-15631),
  array("man",-15625),
  array("mang",-15454),
  array("mao",-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("nan",-15153),
  array("nang",-15150),
  array("nao",-15149),
  array("ne",-15144),
  array("nei",-15143),
  array("nen",-15141),
  array("neng",-15140),
  array("ni",-15139),
  array("nian",-15128),
  array("niang",-15121),
  array("niao",-15119),
  array("nie",-15117),
  array("nin",-15110),
  array("ning",-15109),
  array("niu",-14941),
  array("nong",-14937),
  array("nu",-14933),
  array("nv",-14930),
  array("nuan",-14929),
  array("nue",-14928),
  array("nuo",-14926),
  array("o",-14922),
  array("ou",-14921),
  array("pa",-14914),
  array("pai",-14908),
  array("pan",-14902),
  array("pang",-14894),
  array("pao",-14889),
  array("pei",-14882),
  array("pen",-14873),
  array("peng",-14871),
  array("pi",-14857),
  array("pian",-14678),
  array("piao",-14674),
  array("pie",-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("reng",-14125),
  array("ri",-14123),
  array("rong",-14122),
  array("rou",-14112),
  array("ru",-14109),
  array("ruan",-14099),
  array("rui",-14097),
  array("run",-14094),
  array("ruo",-14092),
  array("sa",-14090),
  array("sai",-14087),
  array("san",-14083),
  array("sang",-13917),
  array("sao",-13914),
  array("se",-13910),
  array("sen",-13907),
  array("seng",-13906),
  array("sha",-13905),
  array("shai",-13896),
  array("shan",-13894),
  array("shang",-13878),
  array("shao",-13870),
  array("she",-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("tai",-13147),
  array("tan",-13138),
  array("tang",-13120),
  array("tao",-13107),
  array("te",-13096),
  array("teng",-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("tuan",-12860),
  array("tui",-12858),
  array("tun",-12852),
  array("tuo",-12849),
  array("wa",-12838),
  array("wai",-12831),
  array("wan",-12829),
  array("wang",-12812),
  array("wei",-12802),
  array("wen",-12607),
  array("weng",-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("zu",-10270),
  array("zuan",-10262),
  array("zui",-10260),
  array("zun",-10256),
  array("zuo",-10254)
 );
 function g($num){
  global $d;
  if($num>0&&$num   return chr($num);
  }
  elseif($num-10247){
   return "";
  }else{
   for($i=count($d)-1;$i>=0;$i--){if($d[$i][1]   return $d[$i][0];
  }
 }

 function c($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;
 }
 
 echo c($hz);
?>


请在此处输入中文:

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1665
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
Detailed explanation of the usage of return in C language Detailed explanation of the usage of return in C language Oct 07, 2023 am 10:58 AM

The usage of return in C language is: 1. For functions whose return value type is void, you can use the return statement to end the execution of the function early; 2. For functions whose return value type is not void, the function of the return statement is to end the execution of the function. The result is returned to the caller; 3. End the execution of the function early. Inside the function, we can use the return statement to end the execution of the function early, even if the function does not return a value.

What is the execution order of return and finally statements in Java? What is the execution order of return and finally statements in Java? Apr 25, 2023 pm 07:55 PM

Source code: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#Output The output of the above code can simply conclude: return is executed before finally. Let's take a look at what happens at the bytecode level. The following intercepts part of the bytecode of the case1 method, and compares the source code to annotate the meaning of each instruction in

How to solve the problem of unable to enter the correct pinyin letters in Ubuntu system How to solve the problem of unable to enter the correct pinyin letters in Ubuntu system Jan 04, 2024 pm 11:10 PM

You cannot type correctly using the Pinyin input method in the Ubuntu system. The words displayed on the input method are not related to the words you want to type. You cannot type the Chinese characters you want to input. This phenomenon often occurs after upgrading the Ubuntu system. How do we solve this problem? The editor below will bring you a solution to the problem that Pinyin cannot be typed correctly in Ubuntu system. Let’s go and see it together! The method is as follows: 1. Press "Ctrl" + "Alt" + "T" on the desktop to open the system terminal: 2. Enter ibus-daemon-drx in the terminal and press Enter: ibus-daemon-drx and then enter pinyin

Sort array using Array.Sort function in C# Sort array using Array.Sort function in C# Nov 18, 2023 am 10:37 AM

Title: Example of using the Array.Sort function to sort an array in C# Text: In C#, array is a commonly used data structure, and it is often necessary to sort the array. C# provides the Array class, which has the Sort method to conveniently sort arrays. This article will demonstrate how to use the Array.Sort function in C# to sort an array and provide specific code examples. First, we need to understand the basic usage of the Array.Sort function. Array.So

Simple and clear method to use PHP array_merge_recursive() function Simple and clear method to use PHP array_merge_recursive() function Jun 27, 2023 pm 01:48 PM

When programming in PHP, we often need to merge arrays. PHP provides the array_merge() function to complete array merging, but when the same key exists in the array, this function will overwrite the original value. In order to solve this problem, PHP also provides an array_merge_recursive() function in the language, which can merge arrays and retain the values ​​of the same keys, making the program design more flexible. array_merge

How to use PHP to sort the first letters of Chinese Pinyin? How to use PHP to sort the first letters of Chinese Pinyin? Sep 05, 2023 am 11:31 AM

How to use PHP to sort the first letters of Chinese Pinyin? In many applications, we often need to sort some Chinese strings. The sorting of Chinese strings needs to be sorted according to the first letter of Pinyin, which requires us to use PHP to complete a sorting function of the first letter of Chinese Pinyin. Below we will introduce in detail how to use PHP to implement this function. First, we need to use a PHP extension library called "pinyin", which provides the function of converting Chinese to Pinyin. Can be accessed by

The internal code of a Chinese character requires several bytes to store The internal code of a Chinese character requires several bytes to store Dec 14, 2020 pm 05:45 PM

The internal code of a Chinese character requires 2 bytes to store. In the popular Chinese character system in China, the internal code of a Chinese character occupies 2 bytes. Because the Chinese character processing system must ensure compatibility between Chinese and Western languages, ambiguity will occur when ASCII codes and Chinese character national standard codes exist in the system. ; To this end, the Chinese character internal code should be appropriately processed and transformed into the national standard code.

How to use the array_combine function in PHP to combine two arrays into an associative array How to use the array_combine function in PHP to combine two arrays into an associative array Jun 26, 2023 pm 01:41 PM

In PHP, there are many powerful array functions that can make array operations more convenient and faster. When we need to combine two arrays into an associative array, we can use PHP's array_combine function to achieve this operation. This function is actually used to combine the keys of one array as the values ​​of another array into a new associative array. Next, we will explain how to use the array_combine function in PHP to combine two arrays into an associative array. Learn about array_comb

See all articles