PHP 获取汉字首字母

作者: jaclon 分类: PHP 发布时间: 2011-09-30 09:36 ė 6没有评论

最近做到一个摄影师注册,快速查询的网站;要用到首字母查询功能,就在网上找了一下,放在这里备用

//获取首字母
function getfirstchar($s0) {
 $fchar = ord($s0{0});
 if ($fchar >= ord("A") and $fchar <= ord("z")
 )return strtoupper($s0{0});
 $s1 = @iconv("UTF-8", "GBK", $s0);
 $s2 = @iconv("GBK", "UTF-8", $s1);
 if ($s2 == $s0) {
 $s = $s1;
 } else {
 $s = $s0;
 }
 $asc = ord($s{0}) * 256 + ord($s{1}) - 65536;
 if ($asc >= -20319 and $asc <= -20284)
 return "A";
 if ($asc >= -20283 and $asc <= -19776)
 return "B";
 if ($asc >= -19775 and $asc <= -19219)
 return "C";
 if ($asc >= -19218 and $asc <= -18711)
 return "D";
 if ($asc >= -18710 and $asc <= -18527)
 return "E";
 if ($asc >= -18526 and $asc <= -18240)
 return "F";
 if ($asc >= -18239 and $asc <= -17923)
 return "G";
 if ($asc >= -17922 and $asc <= -17418)
 return "I";
 if ($asc >= -17417 and $asc <= -16475)
 return "J";
 if ($asc >= -16474 and $asc <= -16213)
 return "K";
 if ($asc >= -16212 and $asc <= -15641)
 return "L";
 if ($asc >= -15640 and $asc <= -15166)
 return "M";
 if ($asc >= -15165 and $asc <= -14923)
 return "N";
 if ($asc >= -14922 and $asc <= -14915)
 return "O";
 if ($asc >= -14914 and $asc <= -14631)
 return "P";
 if ($asc >= -14630 and $asc <= -14150)
 return "Q";
 if ($asc >= -14149 and $asc <= -14091)
 return "R";
 if ($asc >= -14090 and $asc <= -13319)
 return "S";
 if ($asc >= -13318 and $asc <= -12839)
 return "T";
 if ($asc >= -12838 and $asc <= -12557)
 return "W";
 if ($asc >= -12556 and $asc <= -11848)
 return "X";
 if ($asc >= -11847 and $asc <= -11056)
 return "Y";
 if ($asc >= -11055 and $asc <= -10247)
 return "Z";
 return null;
}

//汉字转到拼音首字母
function pinyin($zh) {
 $ret = "";
 $s1 = @iconv("UTF-8", "GBK", $zh);
 $s2 = @iconv("GBK", "UTF-8", $s1);
 if ($s2 == $zh) {
 $zh = $s1;
 }
 for ($i = 0; $i < strlen($zh); $i++) {
 $s1 = substr($zh, $i, 1);
 $p = ord($s1);
 if ($p > 160) {
 $s2 = substr($zh, $i++, 2);
 $ret .= getfirstchar($s2);
 } else {
 $ret .= $s1;
 }
 }
 return $ret;
}

以上内容摘自:http://www.dodonline.org

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2011/09/769.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部