Public Function getinitial ($STR) {
$asc =ord (substr ($str, 0, 1));
if ($asc <160) {//Non-Chinese
if ($asc >=48 && $asc <=57) {
Return ' 1 '; Digital
}elseif ($asc >=65 && $asc <=90) {
return Chr ($ASC); A--z
}elseif ($asc >=97 && $asc <=122) {
Return Chr ($ASC-32); A--z
}else{
return ' ~ '; Other
}
}else{//Chinese
$ASC = $asc *1000+ord (substr ($STR, 1, 1));
Get Pinyin First Letter A--z
if ($asc >=176161 && $asc <176197) {
Return ' A ';
}elseif ($asc >=176197 && $asc <178193) {
Return ' B ';
}elseif ($asc >=178193 && $asc <180238) {
Return ' C ';
}elseif ($asc >=180238 && $asc <182234) {
Return ' D ';
}elseif ($asc >=182234 && $asc <183162) {
Return ' E ';
}elseif ($asc >=183162 && $asc <184193) {
Return ' F ';
}elseif ($asc >=184193 && $asc <185254) {
Return ' G ';
}elseif ($asc >=185254 && $asc <187247) {
Return ' H ';
}elseif ($asc >=187247 && $asc <191166) {
Return ' J ';
}elseif ($asc >=191166 && $asc <192172) {
Return ' K ';
}elseif ($asc >=192172 && $asc <194232) {
Return ' L ';
}elseif ($asc >=194232 && $asc <196195) {
Return ' M ';
}elseif ($asc >=196195 && $asc <197182) {
Return ' N ';
}elseif ($asc >=197182 && $asc <197190) {
Return ' O ';
}elseif ($asc >=197190 && $asc <198218) {
Return ' P ';
}elseif ($asc >=198218 && $asc <200187) {
Return ' Q ';
}elseif ($asc >=200187 && $asc <200246) {
Return ' R ';
}elseif ($asc >=200246 && $asc <203250) {
Return ' S ';
}elseif ($asc >=203250 && $asc <205218) {
Return ' T ';
}elseif ($asc >=205218 && $asc <206244) {
Return ' W ';
}elseif ($asc >=206244 && $asc <209185) {
Return ' X ';
}elseif ($asc >=209185 && $asc <212209) {
Return ' Y ';
}elseif ($asc >=212209) {
Return ' Z ';
}else{
return ' ~ ';
}
}
}
These 176161, 176197 How to get, ask the big God pointing
Reply to discussion (solution)
You're based on the gb2312 first-class font.
GB2312 is divided into a first-class font (alphabetically by alphabetical order) and two-level font (in the Order of radicals)
GB2312 encoding consists of two bytes, called Location Code
You're based on the gb2312 first-class font.
GB2312 is divided into a first-class font (alphabetically by alphabetical order) and two-level font (in the Order of radicals)
GB2312 encoding consists of two bytes, called Location Code
Thank you