| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
atts
10年前发布

php获取中文字符串的首字符拼音字母

$str="这是一个测试程序1";    echo getFirstCharCode($str);      function getFirstCharCode($str){   $str= iconv("UTF-8","gb2312", $str);   $targetChar='*';   $i=0;      while($i<strlen($str) ) {    $tmp=bin2hex(substr($str,$i,1));    if($tmp>='B0'){ //汉字的开始     $t=getLetter(hexdec(bin2hex(substr($str,$i,2))));     $targetChar=$t==-1 ? '*' : $t ;     //printf("%c",$t==-1 ? '*' : $t );     break;     //$i+=2;    }    else{     $targetChar=substr($str,$i,1);     break;     //printf("%s",substr($str,$i,1));     //$i++;    }      }   if(is_numeric($targetChar)){    return chr($targetChar);   }   else{    return  $targetChar;   }  }    function getLetter($num){      $limit=array( //gb2312 拼音排序       array(45217,45252), //A       array(45253,45760), //B       array(45761,46317), //C       array(46318,46825), //D       array(46826,47009), //E       array(47010,47296), //F       array(47297,47613), //G       array(47614,48118), //H       array(0,0),         //I       array(48119,49061), //J       array(49062,49323), //K       array(49324,49895), //L       array(49896,50370), //M       array(50371,50613), //N       array(50614,50621), //O       array(50622,50905), //P       array(50906,51386), //Q       array(51387,51445), //R       array(51446,52217), //S       array(52218,52697), //T       array(0,0),         //U       array(0,0),         //V       array(52698,52979), //W       array(52980,53688), //X       array(53689,54480), //Y       array(54481,55289), //Z   );      $char_index=65;      foreach($limit as $k=>$v){          if($num>=$v[0] && $num<=$v[1]){              $char_index+=$k;              return $char_index;          }      }      return -1;  }