姓名拆分为姓和名 姓名拆分为姓氏和名字的方法[php版]
姓名拆分为姓氏和名字的方法[php版]
之前有分享了用javascript在客户端进行姓名拆分的方法 后应项目需要 又用PHP实现了 贴出来跟大家分享交流
/** * 把全名拆分为姓氏和名字 * @param string $fullname 全名 * @return array 一维数组 元素一是姓 元素二为名 * @author: 风柏杨<> */ function splitName($fullname){ $hyphenated = array( 欧阳 太史 端木 上官 司马 东方 独孤 南宫 万俟 闻人 夏侯 诸葛 尉迟 公羊 赫连 澹台 皇甫 宗政 濮阳 公冶 太叔 申屠 公孙 慕容 仲孙 钟离 长孙 宇文 城池 司徒 鲜于 司空 汝嫣 闾丘 子车 亓官 司寇 巫马 公西 颛孙 壤驷 公良 漆雕 乐正 宰父 谷梁 拓跋 夹谷 轩辕 令狐 段干 百里 呼延 东郭 南门 羊舌 微生 公户 公玉 公仪 梁丘 公仲 公上 公门 公山 公坚 左丘 公伯 西门 公祖 第五 公乘 贯丘 公皙 南荣 东里 东宫 仲长 子书 子桑 即墨 达奚 褚师 ); $vLength = mb_strlen($fullname utf ); $lastname = ; $firstname = ;//前为姓 后为名 if($vLength > ){ $preTwoWords = mb_substr($fullname utf );//取命名的前两个字 看是否在复姓库中 if(in_array($preTwoWords $hyphenated)){ $lastname = $preTwoWords; $firstname = mb_substr($fullname utf ); }else{ $lastname = mb_substr($fullname utf ); $firstname = mb_substr($fullname utf ); } }else if($vLength == ){//全名只有两个字时 以前一个为姓 后一下为名 $lastname = mb_substr($fullname utf ); $firstname = mb_substr($fullname utf ); }else{ $lastname = $fullname; } return array($lastname $firstname); }
![姓名拆分为姓和名 姓名拆分为姓氏和名字的方法[php版]](http://img.zhputi.com/uploads/606b/606bb398d5d3f088b5be7b54664b9f3416969.jpg)
lishixinzhi/Article/program/Web/201404/30633