代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
中文姓名转拼音
作者:
恩惠
/ 发布于
2016/6/20
/
682
/** * 中文名字转拼音 */ class name2py { //复姓 参考: http://baike.baidu.com/subview/13724/9433028.htm public static $_compoundSurname = array('百里','北堂','北野','辟闾','淳于','成公','陈生','成功','端木','东方','东郭','东野','东门','第二','第五', '大狐','段干','段阳','公孙','公冶','公羊','公良','公西','公孟','高堂','高阳','公析','公肩','公坚','郭公','谷梁','毌将','皇甫','黄龙','夹谷','九方', '丌官','梁丘','闾丘','洛阳','陵尹','冷富','梁丘','龙丘','令狐','南宫','南郭','女娲南伯','南容','欧阳','欧侯','濮阳','青阳','漆雕','亓官','渠丘','壤驷', '上官','少室','少叔','司徒','司马','司空','司寇','士孙','申屠','申徒','申鲜','夙沙','叔先','叔仲','侍其','澹台','太史','太叔','太公','屠岸','唐古', '闻人','巫马','微生','王孙','吾丘','无庸','夏侯','西门','信平','鲜于','轩辕','相里','新垣','乐正','尉迟','羊舌','羊角','延陵','於陵','伊祁','诸葛','颛孙', '仲孙','仲长','钟离','宗政','主父','中叔','左人','左丘','宰父','长儿','长孙','万俟'); //多音字的姓氏 public static $_polyphone = array('chong'=>'重','ou'=>'区','qiu'=>'仇','bi'=>'秘','xian'=>'冼','xie'=>'解','she'=>'折','shan'=>'单', 'piao'=>'朴','zha'=>'翟','zha'=>'查','zeng'=>'曾','miao'=>'缪','ge'=>'盖','po'=>'繁','yao'=>'幺','mo qi'=>'万俟','yu chi'=>'尉迟', 'zhang sun'=>'长孙','tan tai'=>'澹台'); public function pinyin($fullname) { $subject = 'Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;'; $nameLength = mb_strlen($fullname,'utf-8'); $lastName = ''; //姓氏 $firstName = ''; //名字 //《姓名登记条例(初稿)》规定: 姓名用字应当在2个汉字以上、6个汉字以下 if($nameLength > 2){ $preTwoWords = mb_substr($fullname, 0, 2, 'utf-8');//取命名的前两个字,看是否在复姓数组中 if( in_array( $preTwoWords, name2py::$_compoundSurname ) ){ $lastname = $preTwoWords; $firstname = mb_substr($fullname, 2, 4, 'utf-8'); }else{ $lastname = mb_substr($fullname, 0, 1, 'utf-8'); $firstname = mb_substr($fullname, 1, 5, 'utf-8'); } }else if($nameLength == 2){//全名只有两个字时,以前一个为姓,后一下为名 $lastname = mb_substr($fullname ,0, 1, 'utf-8'); $firstname = mb_substr($fullname, 1, 5, 'utf-8'); }else{ return array(); } // PHP >= 5.4.0, PECL intl >= 2.0.0 $result = array_search( $lastname, name2py::$_polyphone ); if ( $result ){ $lastname2py = $result; } else { $lastname2py = transliterator_transliterate( $subject, $lastname ); } $firstName2py = transliterator_transliterate( $subject, $firstname ); $accountName = preg_replace( "/\s/","",$firstName2py.'.'.$lastname2py ); return array('lastname'=> $lastname2py, 'firstname'=> $firstName2py, 'accountName' => $accountName); } //判断是否为汉字 private function isChinese($char) { if( preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$char) ) { return true; }else{ return false; } } }
试试其它关键字
中文姓名转拼音
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
恩惠
贡献的其它代码
(
10
)
.
任意字符串前后互换、100以内素数
.
mybatis动态sql示例
.
完整获取图片根据图片链接地址
.
properties文件转为json字符串
.
jquery 对tr的循环取值
.
中文姓名转拼音
.
查询数据库性能的语句
.
或缺目录下文件和文件夹列表
.
字符串是否为数字
.
字符串压缩StringCompress
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3