


This article mainly introduces the Chinese character to Pinyin function implemented by PHP based on custom functions, involving PHP forms and string encoding conversion, traversal and other related operating techniques. Friends in need can refer to the examples of this article
Describes the Chinese character to Pinyin function implemented by PHP based on custom functions. Share it with everyone for your reference, the details are as follows:
The pinyin.table file is used in the entire process.
pinyin.php
##
<?php header("Content-Type:text/html;charset=utf-8"); $letters = ""; if ($_GET) { $cat_name = $_GET["cat_name"]; $catname = convert($cat_name); $letters = get_letter($catname, false); } function get_letter($catname, $letter = true) { return $letter ? strtolower(substr(gb2py($catname), 0, 1)) : str_replace(' ', '', gb2py($catname)); } function gb2py($text, $exp = '') { if(!$text) return ''; $data = array(); $tmp = @file('pinyin.table'); // 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。 if(!$tmp) return ''; $tmps = count($tmp); for($i = 0; $i < $tmps; $i++) { $tmp1 = explode(" ", $tmp[$i]); $data[$i]=array($tmp1[0], $tmp1[1]); } $r = array(); $k = 0; $textlen = strlen($text); for($i = 0; $i < $textlen; $i++) { $p = ord(substr($text, $i, 1)); if($p > 160) { $q = ord(substr($text, ++$i, 1)); $p = $p*256+$q-65536; } if($p > 0 && $p < 160) { $r[$k] = chr($p); } elseif($p< -20319 || $p > -10247) { $r[$k] = ''; } else { for($j = $tmps-1; $j >= 0; $j--) { if($data[$j][1]<=$p) break; } $r[$k] = $data[$j][0]; } $k++; } return implode($exp, $r); } function convert($str, $from = 'utf-8', $to = 'gb2312') { if(!$str) return ''; $from = strtolower($from); $to = strtolower($to); if($from == $to) return $str; $from = str_replace('gbk', 'gb2312', $from); $to = str_replace('gbk', 'gb2312', $to); $from = str_replace('utf8', 'utf-8', $from); $to = str_replace('utf8', 'utf-8', $to); if($from == $to) return $str; $tmp = array(); if(function_exists('iconv')) { if(is_array($str)) { foreach($str as $key => $val) { $tmp[$key] = iconv($from, $to."//IGNORE", $val); } return $tmp; } else { return iconv($from, $to."//IGNORE", $str); } } else if(function_exists('mb_convert_encoding')) { if(is_array($str)) { foreach($str as $key => $val) { $tmp[$key] = mb_convert_encoding($val, $to, $from); } return $tmp; } else { return mb_convert_encoding($str, $to, $from); } } else { require_once 'convert.func.php'; return dconvert($str, $to, $from); } } ?> <form action="./" method="get"> <input type="text" name="cat_name" value="<?php echo $cat_name?>" /> <input type="submit" value="提交" /><br /> </form> <?php echo $letters; ?>pinyin.table
a -20319 ai -20317 an -20304 ang -20295 ao -20292 ba -20283 bai -20265 ban -20257 bang -20242 bao -20230 bei -20051 ben -20036 beng -20032 bi -20026 bian -20002 biao -19990 bie -19986 bin -19982 bing -19976 bo -19805 bu -19784 ca -19775 cai -19774 can -19763 cang -19756 cao -19751 ce -19746 ceng -19741 cha -19739 chai -19728 chan -19725 chang -19715 chao -19540 che -19531 chen -19525 cheng -19515 chi -19500 chong -19484 chou -19479 chu -19467 chuai -19289 chuan -19288 chuang -19281 chui -19275 chun -19270 chuo -19263 ci -19261 cong -19249 cou -19243 cu -19242 cuan -19238 cui -19235 cun -19227 cuo -19224 da -19218 dai -19212 dan -19038 dang -19023 dao -19018 de -19006 deng -19003 di -18996 dian -18977 diao -18961 die -18952 ding -18783 diu -18774 dong -18773 dou -18763 du -18756 duan -18741 dui -18735 dun -18731 duo -18722 e -18710 en -18697 er -18696 fa -18526 fan -18518 fang -18501 fei -18490 fen -18478 feng -18463 fo -18448 fou -18447 fu -18446 ga -18239 gai -18237 gan -18231 gang -18220 gao -18211 ge -18201 gei -18184 gen -18183 geng -18181 gong -18012 gou -17997 gu -17988 gua -17970 guai -17964 guan -17961 guang -17950 gui -17947 gun -17931 guo -17928 ha -17922 hai -17759 han -17752 hang -17733 hao -17730 he -17721 hei -17703 hen -17701 heng -17697 hong -17692 hou -17683 hu -17676 hua -17496 huai -17487 huan -17482 huang -17468 hui -17454 hun -17433 huo -17427 ji -17417 jia -17202 jian -17185 jiang -16983 jiao -16970 jie -16942 jin -16915 jing -16733 jiong -16708 jiu -16706 ju -16689 juan -16664 jue -16657 jun -16647 ka -16474 kai -16470 kan -16465 kang -16459 kao -16452 ke -16448 ken -16433 keng -16429 kong -16427 kou -16423 ku -16419 kua -16412 kuai -16407 kuan -16403 kuang -16401 kui -16393 kun -16220 kuo -16216 la -16212 lai -16205 lan -16202 lang -16187 lao -16180 le -16171 lei -16169 leng -16158 li -16155 lia -15959 lian -15958 liang -15944 liao -15933 lie -15920 lin -15915 ling -15903 liu -15889 long -15878 lou -15707 lu -15701 lv -15681 luan -15667 lue -15661 lun -15659 luo -15652 ma -15640 mai -15631 man -15625 mang -15454 mao -15448 me -15436 mei -15435 men -15419 meng -15416 mi -15408 mian -15394 miao -15385 mie -15377 min -15375 ming -15369 miu -15363 mo -15362 mou -15183 mu -15180 na -15165 nai -15158 nan -15153 nang -15150 nao -15149 ne -15144 nei -15143 nen -15141 neng -15140 ni -15139 nian -15128 niang -15121 niao -15119 nie -15117 nin -15110 ning -15109 niu -14941 nong -14937 nu -14933 nv -14930 nuan -14929 nue -14928 nuo -14926 o -14922 ou -14921 pa -14914 pai -14908 pan -14902 pang -14894 pao -14889 pei -14882 pen -14873 peng -14871 pi -14857 pian -14678 piao -14674 pie -14670 pin -14668 ping -14663 po -14654 pu -14645 qi -14630 qia -14594 qian -14429 qiang -14407 qiao -14399 qie -14384 qin -14379 qing -14368 qiong -14355 qiu -14353 qu -14345 quan -14170 que -14159 qun -14151 ran -14149 rang -14145 rao -14140 re -14137 ren -14135 reng -14125 ri -14123 rong -14122 rou -14112 ru -14109 ruan -14099 rui -14097 run -14094 ruo -14092 sa -14090 sai -14087 san -14083 sang -13917 sao -13914 se -13910 sen -13907 seng -13906 sha -13905 shai -13896 shan -13894 shang -13878 shao -13870 she -13859 shen -13847 sheng -13831 shi -13658 shou -13611 shu -13601 shua -13406 shuai -13404 shuan -13400 shuang -13398 shui -13395 shun -13391 shuo -13387 si -13383 song -13367 sou -13359 su -13356 suan -13343 sui -13340 sun -13329 suo -13326 ta -13318 tai -13147 tan -13138 tang -13120 tao -13107 te -13096 teng -13095 ti -13091 tian -13076 tiao -13068 tie -13063 ting -13060 tong -12888 tou -12875 tu -12871 tuan -12860 tui -12858 tun -12852 tuo -12849 wa -12838 wai -12831 wan -12829 wang -12812 wei -12802 wen -12607 weng -12597 wo -12594 wu -12585 xi -12556 xia -12359 xian -12346 xiang -12320 xiao -12300 xie -12120 xin -12099 xing -12089 xiong -12074 xiu -12067 xu -12058 xuan -12039 xue -11867 xun -11861 ya -11847 yan -11831 yang -11798 yao -11781 ye -11604 yi -11589 yin -11536 ying -11358 yo -11340 yong -11339 you -11324 yu -11303 yuan -11097 yue -11077 yun -11067 za -11055 zai -11052 zan -11045 zang -11041 zao -11038 ze -11024 zei -11020 zen -11019 zeng -11018 zha -11014 zhai -10838 zhan -10832 zhang -10815 zhao -10800 zhe -10790 zhen -10780 zheng -10764 zhi -10587 zhong -10544 zhou -10533 zhu -10519 zhua -10331 zhuai -10329 zhuan -10328 zhuang -10322 zhui -10315 zhun -10309 zhuo -10307 zi -10296 zong -10281 zou -10274 zu -10270 zuan -10262 zui -10260 zun -10256 zuo -10254
The above is the detailed content of Example of converting Chinese characters to Pinyin using PHP custom function. For more information, please follow other related articles on the PHP Chinese website!

Netflix上的头像是你流媒体身份的可视化代表。用户可以超越默认的头像来展示自己的个性。继续阅读这篇文章,了解如何在Netflix应用程序中设置自定义个人资料图片。如何在Netflix中快速设置自定义头像在Netflix中,没有内置功能来设置个人资料图片。不过,您可以通过在浏览器上安装Netflix扩展来实现此目的。首先,在浏览器上安装Netflix扩展的自定义个人资料图片。你可以在Chrome商店买到它。安装扩展后,在浏览器上打开Netflix并登录您的帐户。导航至右上角的个人资料,然后单击

Win11如何自定义背景图片?在最新发布的win11系统中,里面有许多的自定义功能,但是很多小伙伴不知道应该如何使用这些功能。就有小伙伴觉得背景图片比较单调,想要自定义背景图,但是不知道如何操作自定义背景图,如果你不知道如何定义背景图片,小编下面整理了Win11自定义背景图片步骤,感兴趣的话一起往下看看把!Win11自定义背景图片步骤1、点击桌面win按钮,在弹出的菜单中点击设置,如图所示。2、进入设置菜单,点击个性化,如图所示。3、进入个性化,点击背景,如图所示。4、进入背景设置,点击浏览图片

维恩图是用来表示集合之间关系的图。要创建维恩图,我们将使用matplotlib。Matplotlib是一个在Python中常用的数据可视化库,用于创建交互式的图表和图形。它也用于制作交互式的图像和图表。Matplotlib提供了许多函数来自定义图表和图形。在本教程中,我们将举例说明三个示例来自定义Venn图。Example的中文翻译为:示例这是一个创建两个维恩图交集的简单示例;首先,我们导入了必要的库并导入了venns。然后我们将数据集创建为Python集,之后,我们使用“venn2()”函数创

CakePHP是一个强大的PHP框架,为开发人员提供了很多有用的工具和功能。其中之一是分页,它可以帮助我们将大量数据分成几页,从而简化浏览和操作。默认情况下,CakePHP提供了一些基本的分页方法,但有时你可能需要创建一些自定义的分页方法。这篇文章将向您展示如何在CakePHP中创建自定义分页。步骤1:创建自定义分页类首先,我们需要创建一个自定义分页类。这个

如何在Eclipse中自定义快捷键设置?作为一名开发人员,在使用Eclipse进行编码时,熟练掌握快捷键是提高效率的关键之一。Eclipse作为一款强大的集成开发环境,不仅提供了许多默认的快捷键,还允许用户根据自己的偏好进行个性化的定制。本文将介绍如何在Eclipse中自定义快捷键设置,并给出具体的代码示例。打开Eclipse首先,打开Eclipse,并进入

Vue是一款流行的JavaScript框架,它提供了许多方便的功能和API以帮助开发者构建交互式的前端应用程序。随着Vue3的发布,render函数成为了一个重要的更新。本文将介绍Vue3中render函数的概念、用途和如何使用它自定义渲染函数。什么是render函数在Vue中,template是最常用的渲染方式,但是在Vue3中,可以使用另外一种方式:r

适用于iPhone的iOS17更新为AppleMusic带来了一些重大变化。这包括在播放列表中与其他用户协作,在使用CarPlay时从不同设备启动音乐播放等。这些新功能之一是能够在AppleMusic中使用交叉淡入淡出。这将允许您在曲目之间无缝过渡,这在收听多个曲目时是一个很棒的功能。交叉淡入淡出有助于改善整体聆听体验,确保您在音轨更改时不会受到惊吓或退出体验。因此,如果您想充分利用这项新功能,以下是在iPhone上使用它的方法。如何為AppleMusic啟用和自定Crossfade您需要最新的

如何在CodeIgniter中实现自定义中间件引言:在现代的Web开发中,中间件在应用程序中起着至关重要的作用。它们可以用来执行在请求到达控制器之前或之后执行一些共享的处理逻辑。CodeIgniter作为一个流行的PHP框架,也支持中间件的使用。本文将介绍如何在CodeIgniter中实现自定义中间件,并提供一个简单的代码示例。中间件概述:中间件是一种在请求


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Chinese version
Chinese version, very easy to use
