登录  /  注册

PHP的UTF-8中文转拼音处理类

php中文网
发布: 2016-07-28 08:29:30
原创
961人浏览过

转载自:http://blog.csdn.net/hzbigdog/article/details/37817135

<code><span><?php </span><span>/**
 * PHP 汉字转拼音
 *<span> @author</span> Jerryli(hzjerry@gmail.com)
 *<span> @version</span> V0.20140715
 *<span> @package</span> SPFW.core.lib.final
 *<span> @global</span> SEA_PHP_FW_VAR_ENV
 *<span> @example</span>
 *  echo CUtf8_PY::encode('阿里巴巴科技有限公司'); //编码为拼音首字母
 *  echo CUtf8_PY::encode('阿里巴巴科技有限公司', 'all'); //编码为全拼音
 */</span><span><span>class</span><span>CUtf8_PY</span> {</span><span>/**
     * 拼音字符转换图
     *<span> @var</span> array
     */</span><span>private</span><span>static</span><span>$_aMaps</span> = <span>array</span>(
        <span>'a'</span>=&gt;-<span>20319</span>,<span>'ai'</span>=&gt;-<span>20317</span>,<span>'an'</span>=&gt;-<span>20304</span>,<span>'ang'</span>=&gt;-<span>20295</span>,<span>'ao'</span>=&gt;-<span>20292</span>,
        <span>'ba'</span>=&gt;-<span>20283</span>,<span>'bai'</span>=&gt;-<span>20265</span>,<span>'ban'</span>=&gt;-<span>20257</span>,<span>'bang'</span>=&gt;-<span>20242</span>,<span>'bao'</span>=&gt;-<span>20230</span>,<span>'bei'</span>=&gt;-<span>20051</span>,<span>'ben'</span>=&gt;-<span>20036</span>,<span>'beng'</span>=&gt;-<span>20032</span>,<span>'bi'</span>=&gt;-<span>20026</span>,<span>'bian'</span>=&gt;-<span>20002</span>,<span>'biao'</span>=&gt;-<span>19990</span>,<span>'bie'</span>=&gt;-<span>19986</span>,<span>'bin'</span>=&gt;-<span>19982</span>,<span>'bing'</span>=&gt;-<span>19976</span>,<span>'bo'</span>=&gt;-<span>19805</span>,<span>'bu'</span>=&gt;-<span>19784</span>,
        <span>'ca'</span>=&gt;-<span>19775</span>,<span>'cai'</span>=&gt;-<span>19774</span>,<span>'can'</span>=&gt;-<span>19763</span>,<span>'cang'</span>=&gt;-<span>19756</span>,<span>'cao'</span>=&gt;-<span>19751</span>,<span>'ce'</span>=&gt;-<span>19746</span>,<span>'ceng'</span>=&gt;-<span>19741</span>,<span>'cha'</span>=&gt;-<span>19739</span>,<span>'chai'</span>=&gt;-<span>19728</span>,<span>'chan'</span>=&gt;-<span>19725</span>,<span>'chang'</span>=&gt;-<span>19715</span>,<span>'chao'</span>=&gt;-<span>19540</span>,<span>'che'</span>=&gt;-<span>19531</span>,<span>'chen'</span>=&gt;-<span>19525</span>,<span>'cheng'</span>=&gt;-<span>19515</span>,<span>'chi'</span>=&gt;-<span>19500</span>,<span>'chong'</span>=&gt;-<span>19484</span>,<span>'chou'</span>=&gt;-<span>19479</span>,<span>'chu'</span>=&gt;-<span>19467</span>,<span>'chuai'</span>=&gt;-<span>19289</span>,<span>'chuan'</span>=&gt;-<span>19288</span>,<span>'chuang'</span>=&gt;-<span>19281</span>,<span>'chui'</span>=&gt;-<span>19275</span>,<span>'chun'</span>=&gt;-<span>19270</span>,<span>'chuo'</span>=&gt;-<span>19263</span>,<span>'ci'</span>=&gt;-<span>19261</span>,<span>'cong'</span>=&gt;-<span>19249</span>,<span>'cou'</span>=&gt;-<span>19243</span>,<span>'cu'</span>=&gt;-<span>19242</span>,<span>'cuan'</span>=&gt;-<span>19238</span>,<span>'cui'</span>=&gt;-<span>19235</span>,<span>'cun'</span>=&gt;-<span>19227</span>,<span>'cuo'</span>=&gt;-<span>19224</span>,
        <span>'da'</span>=&gt;-<span>19218</span>,<span>'dai'</span>=&gt;-<span>19212</span>,<span>'dan'</span>=&gt;-<span>19038</span>,<span>'dang'</span>=&gt;-<span>19023</span>,<span>'dao'</span>=&gt;-<span>19018</span>,<span>'de'</span>=&gt;-<span>19006</span>,<span>'deng'</span>=&gt;-<span>19003</span>,<span>'di'</span>=&gt;-<span>18996</span>,<span>'dian'</span>=&gt;-<span>18977</span>,<span>'diao'</span>=&gt;-<span>18961</span>,<span>'die'</span>=&gt;-<span>18952</span>,<span>'ding'</span>=&gt;-<span>18783</span>,<span>'diu'</span>=&gt;-<span>18774</span>,<span>'dong'</span>=&gt;-<span>18773</span>,<span>'dou'</span>=&gt;-<span>18763</span>,<span>'du'</span>=&gt;-<span>18756</span>,<span>'duan'</span>=&gt;-<span>18741</span>,<span>'dui'</span>=&gt;-<span>18735</span>,<span>'dun'</span>=&gt;-<span>18731</span>,<span>'duo'</span>=&gt;-<span>18722</span>,
        <span>'e'</span>=&gt;-<span>18710</span>,<span>'en'</span>=&gt;-<span>18697</span>,<span>'er'</span>=&gt;-<span>18696</span>,
        <span>'fa'</span>=&gt;-<span>18526</span>,<span>'fan'</span>=&gt;-<span>18518</span>,<span>'fang'</span>=&gt;-<span>18501</span>,<span>'fei'</span>=&gt;-<span>18490</span>,<span>'fen'</span>=&gt;-<span>18478</span>,<span>'feng'</span>=&gt;-<span>18463</span>,<span>'fo'</span>=&gt;-<span>18448</span>,<span>'fou'</span>=&gt;-<span>18447</span>,<span>'fu'</span>=&gt;-<span>18446</span>,
        <span>'ga'</span>=&gt;-<span>18239</span>,<span>'gai'</span>=&gt;-<span>18237</span>,<span>'gan'</span>=&gt;-<span>18231</span>,<span>'gang'</span>=&gt;-<span>18220</span>,<span>'gao'</span>=&gt;-<span>18211</span>,<span>'ge'</span>=&gt;-<span>18201</span>,<span>'gei'</span>=&gt;-<span>18184</span>,<span>'gen'</span>=&gt;-<span>18183</span>,<span>'geng'</span>=&gt;-<span>18181</span>,<span>'gong'</span>=&gt;-<span>18012</span>,<span>'gou'</span>=&gt;-<span>17997</span>,<span>'gu'</span>=&gt;-<span>17988</span>,<span>'gua'</span>=&gt;-<span>17970</span>,<span>'guai'</span>=&gt;-<span>17964</span>,<span>'guan'</span>=&gt;-<span>17961</span>,<span>'guang'</span>=&gt;-<span>17950</span>,<span>'gui'</span>=&gt;-<span>17947</span>,<span>'gun'</span>=&gt;-<span>17931</span>,<span>'guo'</span>=&gt;-<span>17928</span>,
        <span>'ha'</span>=&gt;-<span>17922</span>,<span>'hai'</span>=&gt;-<span>17759</span>,<span>'han'</span>=&gt;-<span>17752</span>,<span>'hang'</span>=&gt;-<span>17733</span>,<span>'hao'</span>=&gt;-<span>17730</span>,<span>'he'</span>=&gt;-<span>17721</span>,<span>'hei'</span>=&gt;-<span>17703</span>,<span>'hen'</span>=&gt;-<span>17701</span>,<span>'heng'</span>=&gt;-<span>17697</span>,<span>'hong'</span>=&gt;-<span>17692</span>,<span>'hou'</span>=&gt;-<span>17683</span>,<span>'hu'</span>=&gt;-<span>17676</span>,<span>'hua'</span>=&gt;-<span>17496</span>,<span>'huai'</span>=&gt;-<span>17487</span>,<span>'huan'</span>=&gt;-<span>17482</span>,<span>'huang'</span>=&gt;-<span>17468</span>,<span>'hui'</span>=&gt;-<span>17454</span>,<span>'hun'</span>=&gt;-<span>17433</span>,<span>'huo'</span>=&gt;-<span>17427</span>,
        <span>'ji'</span>=&gt;-<span>17417</span>,<span>'jia'</span>=&gt;-<span>17202</span>,<span>'jian'</span>=&gt;-<span>17185</span>,<span>'jiang'</span>=&gt;-<span>16983</span>,<span>'jiao'</span>=&gt;-<span>16970</span>,<span>'jie'</span>=&gt;-<span>16942</span>,<span>'jin'</span>=&gt;-<span>16915</span>,<span>'jing'</span>=&gt;-<span>16733</span>,<span>'jiong'</span>=&gt;-<span>16708</span>,<span>'jiu'</span>=&gt;-<span>16706</span>,<span>'ju'</span>=&gt;-<span>16689</span>,<span>'juan'</span>=&gt;-<span>16664</span>,<span>'jue'</span>=&gt;-<span>16657</span>,<span>'jun'</span>=&gt;-<span>16647</span>,
        <span>'ka'</span>=&gt;-<span>16474</span>,<span>'kai'</span>=&gt;-<span>16470</span>,<span>'kan'</span>=&gt;-<span>16465</span>,<span>'kang'</span>=&gt;-<span>16459</span>,<span>'kao'</span>=&gt;-<span>16452</span>,<span>'ke'</span>=&gt;-<span>16448</span>,<span>'ken'</span>=&gt;-<span>16433</span>,<span>'keng'</span>=&gt;-<span>16429</span>,<span>'kong'</span>=&gt;-<span>16427</span>,<span>'kou'</span>=&gt;-<span>16423</span>,<span>'ku'</span>=&gt;-<span>16419</span>,<span>'kua'</span>=&gt;-<span>16412</span>,<span>'kuai'</span>=&gt;-<span>16407</span>,<span>'kuan'</span>=&gt;-<span>16403</span>,<span>'kuang'</span>=&gt;-<span>16401</span>,<span>'kui'</span>=&gt;-<span>16393</span>,<span>'kun'</span>=&gt;-<span>16220</span>,<span>'kuo'</span>=&gt;-<span>16216</span>,
        <span>'la'</span>=&gt;-<span>16212</span>,<span>'lai'</span>=&gt;-<span>16205</span>,<span>'lan'</span>=&gt;-<span>16202</span>,<span>'lang'</span>=&gt;-<span>16187</span>,<span>'lao'</span>=&gt;-<span>16180</span>,<span>'le'</span>=&gt;-<span>16171</span>,<span>'lei'</span>=&gt;-<span>16169</span>,<span>'leng'</span>=&gt;-<span>16158</span>,<span>'li'</span>=&gt;-<span>16155</span>,<span>'lia'</span>=&gt;-<span>15959</span>,<span>'lian'</span>=&gt;-<span>15958</span>,<span>'liang'</span>=&gt;-<span>15944</span>,<span>'liao'</span>=&gt;-<span>15933</span>,<span>'lie'</span>=&gt;-<span>15920</span>,<span>'lin'</span>=&gt;-<span>15915</span>,<span>'ling'</span>=&gt;-<span>15903</span>,<span>'liu'</span>=&gt;-<span>15889</span>,<span>'long'</span>=&gt;-<span>15878</span>,<span>'lou'</span>=&gt;-<span>15707</span>,<span>'lu'</span>=&gt;-<span>15701</span>,<span>'lv'</span>=&gt;-<span>15681</span>,<span>'luan'</span>=&gt;-<span>15667</span>,<span>'lue'</span>=&gt;-<span>15661</span>,<span>'lun'</span>=&gt;-<span>15659</span>,<span>'luo'</span>=&gt;-<span>15652</span>,
        <span>'ma'</span>=&gt;-<span>15640</span>,<span>'mai'</span>=&gt;-<span>15631</span>,<span>'man'</span>=&gt;-<span>15625</span>,<span>'mang'</span>=&gt;-<span>15454</span>,<span>'mao'</span>=&gt;-<span>15448</span>,<span>'me'</span>=&gt;-<span>15436</span>,<span>'mei'</span>=&gt;-<span>15435</span>,<span>'men'</span>=&gt;-<span>15419</span>,<span>'meng'</span>=&gt;-<span>15416</span>,<span>'mi'</span>=&gt;-<span>15408</span>,<span>'mian'</span>=&gt;-<span>15394</span>,<span>'miao'</span>=&gt;-<span>15385</span>,<span>'mie'</span>=&gt;-<span>15377</span>,<span>'min'</span>=&gt;-<span>15375</span>,<span>'ming'</span>=&gt;-<span>15369</span>,<span>'miu'</span>=&gt;-<span>15363</span>,<span>'mo'</span>=&gt;-<span>15362</span>,<span>'mou'</span>=&gt;-<span>15183</span>,<span>'mu'</span>=&gt;-<span>15180</span>,
        <span>'na'</span>=&gt;-<span>15165</span>,<span>'nai'</span>=&gt;-<span>15158</span>,<span>'nan'</span>=&gt;-<span>15153</span>,<span>'nang'</span>=&gt;-<span>15150</span>,<span>'nao'</span>=&gt;-<span>15149</span>,<span>'ne'</span>=&gt;-<span>15144</span>,<span>'nei'</span>=&gt;-<span>15143</span>,<span>'nen'</span>=&gt;-<span>15141</span>,<span>'neng'</span>=&gt;-<span>15140</span>,<span>'ni'</span>=&gt;-<span>15139</span>,<span>'nian'</span>=&gt;-<span>15128</span>,<span>'niang'</span>=&gt;-<span>15121</span>,<span>'niao'</span>=&gt;-<span>15119</span>,<span>'nie'</span>=&gt;-<span>15117</span>,<span>'nin'</span>=&gt;-<span>15110</span>,<span>'ning'</span>=&gt;-<span>15109</span>,<span>'niu'</span>=&gt;-<span>14941</span>,<span>'nong'</span>=&gt;-<span>14937</span>,<span>'nu'</span>=&gt;-<span>14933</span>,<span>'nv'</span>=&gt;-<span>14930</span>,<span>'nuan'</span>=&gt;-<span>14929</span>,<span>'nue'</span>=&gt;-<span>14928</span>,<span>'nuo'</span>=&gt;-<span>14926</span>,
        <span>'o'</span>=&gt;-<span>14922</span>,<span>'ou'</span>=&gt;-<span>14921</span>,
        <span>'pa'</span>=&gt;-<span>14914</span>,<span>'pai'</span>=&gt;-<span>14908</span>,<span>'pan'</span>=&gt;-<span>14902</span>,<span>'pang'</span>=&gt;-<span>14894</span>,<span>'pao'</span>=&gt;-<span>14889</span>,<span>'pei'</span>=&gt;-<span>14882</span>,<span>'pen'</span>=&gt;-<span>14873</span>,<span>'peng'</span>=&gt;-<span>14871</span>,<span>'pi'</span>=&gt;-<span>14857</span>,<span>'pian'</span>=&gt;-<span>14678</span>,<span>'piao'</span>=&gt;-<span>14674</span>,<span>'pie'</span>=&gt;-<span>14670</span>,<span>'pin'</span>=&gt;-<span>14668</span>,<span>'ping'</span>=&gt;-<span>14663</span>,<span>'po'</span>=&gt;-<span>14654</span>,<span>'pu'</span>=&gt;-<span>14645</span>,
        <span>'qi'</span>=&gt;-<span>14630</span>,<span>'qia'</span>=&gt;-<span>14594</span>,<span>'qian'</span>=&gt;-<span>14429</span>,<span>'qiang'</span>=&gt;-<span>14407</span>,<span>'qiao'</span>=&gt;-<span>14399</span>,<span>'qie'</span>=&gt;-<span>14384</span>,<span>'qin'</span>=&gt;-<span>14379</span>,<span>'qing'</span>=&gt;-<span>14368</span>,<span>'qiong'</span>=&gt;-<span>14355</span>,<span>'qiu'</span>=&gt;-<span>14353</span>,<span>'qu'</span>=&gt;-<span>14345</span>,<span>'quan'</span>=&gt;-<span>14170</span>,<span>'que'</span>=&gt;-<span>14159</span>,<span>'qun'</span>=&gt;-<span>14151</span>,
        <span>'ran'</span>=&gt;-<span>14149</span>,<span>'rang'</span>=&gt;-<span>14145</span>,<span>'rao'</span>=&gt;-<span>14140</span>,<span>'re'</span>=&gt;-<span>14137</span>,<span>'ren'</span>=&gt;-<span>14135</span>,<span>'reng'</span>=&gt;-<span>14125</span>,<span>'ri'</span>=&gt;-<span>14123</span>,<span>'rong'</span>=&gt;-<span>14122</span>,<span>'rou'</span>=&gt;-<span>14112</span>,<span>'ru'</span>=&gt;-<span>14109</span>,<span>'ruan'</span>=&gt;-<span>14099</span>,<span>'rui'</span>=&gt;-<span>14097</span>,<span>'run'</span>=&gt;-<span>14094</span>,<span>'ruo'</span>=&gt;-<span>14092</span>,
        <span>'sa'</span>=&gt;-<span>14090</span>,<span>'sai'</span>=&gt;-<span>14087</span>,<span>'san'</span>=&gt;-<span>14083</span>,<span>'sang'</span>=&gt;-<span>13917</span>,<span>'sao'</span>=&gt;-<span>13914</span>,<span>'se'</span>=&gt;-<span>13910</span>,<span>'sen'</span>=&gt;-<span>13907</span>,<span>'seng'</span>=&gt;-<span>13906</span>,<span>'sha'</span>=&gt;-<span>13905</span>,<span>'shai'</span>=&gt;-<span>13896</span>,<span>'shan'</span>=&gt;-<span>13894</span>,<span>'shang'</span>=&gt;-<span>13878</span>,<span>'shao'</span>=&gt;-<span>13870</span>,<span>'she'</span>=&gt;-<span>13859</span>,<span>'shen'</span>=&gt;-<span>13847</span>,<span>'sheng'</span>=&gt;-<span>13831</span>,<span>'shi'</span>=&gt;-<span>13658</span>,<span>'shou'</span>=&gt;-<span>13611</span>,<span>'shu'</span>=&gt;-<span>13601</span>,<span>'shua'</span>=&gt;-<span>13406</span>,<span>'shuai'</span>=&gt;-<span>13404</span>,<span>'shuan'</span>=&gt;-<span>13400</span>,<span>'shuang'</span>=&gt;-<span>13398</span>,<span>'shui'</span>=&gt;-<span>13395</span>,<span>'shun'</span>=&gt;-<span>13391</span>,<span>'shuo'</span>=&gt;-<span>13387</span>,<span>'si'</span>=&gt;-<span>13383</span>,<span>'song'</span>=&gt;-<span>13367</span>,<span>'sou'</span>=&gt;-<span>13359</span>,<span>'su'</span>=&gt;-<span>13356</span>,<span>'suan'</span>=&gt;-<span>13343</span>,<span>'sui'</span>=&gt;-<span>13340</span>,<span>'sun'</span>=&gt;-<span>13329</span>,<span>'suo'</span>=&gt;-<span>13326</span>,
        <span>'ta'</span>=&gt;-<span>13318</span>,<span>'tai'</span>=&gt;-<span>13147</span>,<span>'tan'</span>=&gt;-<span>13138</span>,<span>'tang'</span>=&gt;-<span>13120</span>,<span>'tao'</span>=&gt;-<span>13107</span>,<span>'te'</span>=&gt;-<span>13096</span>,<span>'teng'</span>=&gt;-<span>13095</span>,<span>'ti'</span>=&gt;-<span>13091</span>,<span>'tian'</span>=&gt;-<span>13076</span>,<span>'tiao'</span>=&gt;-<span>13068</span>,<span>'tie'</span>=&gt;-<span>13063</span>,<span>'ting'</span>=&gt;-<span>13060</span>,<span>'tong'</span>=&gt;-<span>12888</span>,<span>'tou'</span>=&gt;-<span>12875</span>,<span>'tu'</span>=&gt;-<span>12871</span>,<span>'tuan'</span>=&gt;-<span>12860</span>,<span>'tui'</span>=&gt;-<span>12858</span>,<span>'tun'</span>=&gt;-<span>12852</span>,<span>'tuo'</span>=&gt;-<span>12849</span>,
        <span>'wa'</span>=&gt;-<span>12838</span>,<span>'wai'</span>=&gt;-<span>12831</span>,<span>'wan'</span>=&gt;-<span>12829</span>,<span>'wang'</span>=&gt;-<span>12812</span>,<span>'wei'</span>=&gt;-<span>12802</span>,<span>'wen'</span>=&gt;-<span>12607</span>,<span>'weng'</span>=&gt;-<span>12597</span>,<span>'wo'</span>=&gt;-<span>12594</span>,<span>'wu'</span>=&gt;-<span>12585</span>,
        <span>'xi'</span>=&gt;-<span>12556</span>,<span>'xia'</span>=&gt;-<span>12359</span>,<span>'xian'</span>=&gt;-<span>12346</span>,<span>'xiang'</span>=&gt;-<span>12320</span>,<span>'xiao'</span>=&gt;-<span>12300</span>,<span>'xie'</span>=&gt;-<span>12120</span>,<span>'xin'</span>=&gt;-<span>12099</span>,<span>'xing'</span>=&gt;-<span>12089</span>,<span>'xiong'</span>=&gt;-<span>12074</span>,<span>'xiu'</span>=&gt;-<span>12067</span>,<span>'xu'</span>=&gt;-<span>12058</span>,<span>'xuan'</span>=&gt;-<span>12039</span>,<span>'xue'</span>=&gt;-<span>11867</span>,<span>'xun'</span>=&gt;-<span>11861</span>,
        <span>'ya'</span>=&gt;-<span>11847</span>,<span>'yan'</span>=&gt;-<span>11831</span>,<span>'yang'</span>=&gt;-<span>11798</span>,<span>'yao'</span>=&gt;-<span>11781</span>,<span>'ye'</span>=&gt;-<span>11604</span>,<span>'yi'</span>=&gt;-<span>11589</span>,<span>'yin'</span>=&gt;-<span>11536</span>,<span>'ying'</span>=&gt;-<span>11358</span>,<span>'yo'</span>=&gt;-<span>11340</span>,<span>'yong'</span>=&gt;-<span>11339</span>,<span>'you'</span>=&gt;-<span>11324</span>,<span>'yu'</span>=&gt;-<span>11303</span>,<span>'yuan'</span>=&gt;-<span>11097</span>,<span>'yue'</span>=&gt;-<span>11077</span>,<span>'yun'</span>=&gt;-<span>11067</span>,
        <span>'za'</span>=&gt;-<span>11055</span>,<span>'zai'</span>=&gt;-<span>11052</span>,<span>'zan'</span>=&gt;-<span>11045</span>,<span>'zang'</span>=&gt;-<span>11041</span>,<span>'zao'</span>=&gt;-<span>11038</span>,<span>'ze'</span>=&gt;-<span>11024</span>,<span>'zei'</span>=&gt;-<span>11020</span>,<span>'zen'</span>=&gt;-<span>11019</span>,<span>'zeng'</span>=&gt;-<span>11018</span>,<span>'zha'</span>=&gt;-<span>11014</span>,<span>'zhai'</span>=&gt;-<span>10838</span>,<span>'zhan'</span>=&gt;-<span>10832</span>,<span>'zhang'</span>=&gt;-<span>10815</span>,<span>'zhao'</span>=&gt;-<span>10800</span>,<span>'zhe'</span>=&gt;-<span>10790</span>,<span>'zhen'</span>=&gt;-<span>10780</span>,<span>'zheng'</span>=&gt;-<span>10764</span>,<span>'zhi'</span>=&gt;-<span>10587</span>,<span>'zhong'</span>=&gt;-<span>10544</span>,<span>'zhou'</span>=&gt;-<span>10533</span>,<span>'zhu'</span>=&gt;-<span>10519</span>,<span>'zhua'</span>=&gt;-<span>10331</span>,<span>'zhuai'</span>=&gt;-<span>10329</span>,<span>'zhuan'</span>=&gt;-<span>10328</span>,<span>'zhuang'</span>=&gt;-<span>10322</span>,<span>'zhui'</span>=&gt;-<span>10315</span>,<span>'zhun'</span>=&gt;-<span>10309</span>,<span>'zhuo'</span>=&gt;-<span>10307</span>,<span>'zi'</span>=&gt;-<span>10296</span>,<span>'zong'</span>=&gt;-<span>10281</span>,<span>'zou'</span>=&gt;-<span>10274</span>,<span>'zu'</span>=&gt;-<span>10270</span>,<span>'zuan'</span>=&gt;-<span>10262</span>,<span>'zui'</span>=&gt;-<span>10260</span>,<span>'zun'</span>=&gt;-<span>10256</span>,<span>'zuo'</span>=&gt;-<span>10254</span>
    );

    <span>/**
     * 将中文编码成拼音
     *<span> @param</span> string $utf8Data utf8字符集数据
     *<span> @param</span> string $sRetFormat 返回格式 [head:首字母|all:全拼音]
     *<span> @return</span> string
     */</span><span>public</span><span>static</span><span><span>function</span><span>encode</span><span>(<span>$utf8Data</span>, <span>$sRetFormat</span>=<span>'head'</span>)</span>{</span><span>$sGBK</span> = iconv(<span>'UTF-8'</span>, <span>'GBK'</span>, <span>$utf8Data</span>);
        <span>$aBuf</span> = <span>array</span>();
        <span>for</span> (<span>$i</span>=<span>0</span>, <span>$iLoop</span>=strlen(<span>$sGBK</span>); <span>$i</span>$iLoop</span>; <span>$i</span>++) {
            <span>$iChr</span> = ord(<span>$sGBK</span>{<span>$i</span>});
            <span>if</span> (<span>$iChr</span>&gt;<span>160</span>)
                <span>$iChr</span> = (<span>$iChr</span>8) + ord(<span>$sGBK</span>{++<span>$i</span>}) - <span>65536</span>;
            <span>if</span> (<span>'head'</span> === <span>$sRetFormat</span>)
                <span>$aBuf</span>[] = substr(<span>self</span>::zh2py(<span>$iChr</span>),<span>0</span>,<span>1</span>);
            <span>else</span><span>$aBuf</span>[] = <span>self</span>::zh2py(<span>$iChr</span>);
        }
        <span>if</span> (<span>'head'</span> === <span>$sRetFormat</span>)
            <span>return</span> implode(<span>''</span>, <span>$aBuf</span>);
        <span>else</span><span>return</span> implode(<span>' '</span>, <span>$aBuf</span>);
    }

    <span>/**
     * 中文转换到拼音(每次处理一个字符)
     *<span> @param</span> number $iWORD 待处理字符双字节
     *<span> @return</span> string 拼音
     */</span><span>private</span><span>static</span><span><span>function</span><span>zh2py</span><span>(<span>$iWORD</span>)</span> {</span><span>if</span>(<span>$iWORD</span>&gt;<span>0</span> &amp;&amp; <span>$iWORD</span>160 ) {
            <span>return</span> chr(<span>$iWORD</span>);
        } <span>elseif</span> (<span>$iWORD</span>20319||<span>$iWORD</span>&gt;-<span>10247</span>) {
            <span>return</span><span>''</span>;
        } <span>else</span> {
            <span>foreach</span> (<span>self</span>::<span>$_aMaps</span><span>as</span><span>$py</span> =&gt; <span>$code</span>) {
                <span>if</span>(<span>$code</span> &gt; <span>$iWORD</span>) <span>break</span>;
                <span>$result</span> = <span>$py</span>;
            }
            <span>return</span><span>$result</span>;
        }
    }
}
<span>?&gt;</span></code>
登录后复制

优化了传统的拼音转换处理类的算法,专门针对UTF-8字符集进行处理。
如果你使用GBK或GB2312字符集,只需要去掉iconv函数,直接赋值,不需要转换就行。

不多说了,直接上代码,完全开源你拿去直接用。如果你觉得有用,使用时请帮忙保留作者的信息。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了 PHP的UTF-8中文转拼音处理类,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号