PHP取得中文字串的首字母

來源:互聯網
上載者:User
  1. $limit = array( //gb2312 拼音排序
  2. array(45217,45252), //A
  3. array(45253,45760), //B
  4. array(45761,46317), //C
  5. array(46318,46825), //D
  6. array(46826,47009), //E
  7. array(47010,47296), //F
  8. array(47297,47613), //G
  9. array(47614,48118), //H
  10. array(0,0), //I
  11. array(48119,49061), //J
  12. array(49062,49323), //K
  13. array(49324,49895), //L
  14. array(49896,50370), //M
  15. array(50371,50613), //N
  16. array(50614,50621), //O
  17. array(50622,50905), //P
  18. array(50906,51386), //Q
  19. array(51387,51445), //R
  20. array(51446,52217), //S
  21. array(52218,52697), //T
  22. array(0,0), //U
  23. array(0,0), //V
  24. array(52698,52979), //W
  25. array(52980,53688), //X
  26. array(53689,54480), //Y
  27. array(54481,55289), //Z
  28. );
  29. $str="A:這是一個測試程式1";
  30. $str= iconv("UTF-8","gb2312", $str);
  31. echo $str."
    ";
  32. $i=0;
  33. while($i $tmp=bin2hex(substr($str,$i,1));
  34. if($tmp>='B0'){ //漢字的開始
  35. $t=getLetter(hexdec(bin2hex(substr($str,$i,2))));
  36. printf("%c",$t==-1 ? '*' : $t );
  37. $i+=2;
  38. }
  39. else{
  40. printf("%s",substr($str,$i,1));
  41. $i++;
  42. }
  43. }
  44. function getLetter($num){
  45. global $limit;
  46. $char_index=65;
  47. foreach($limit as $k=>$v){
  48. if($num>=$v[0] && $num<=$v[1]){
  49. $char_index+=$k;
  50. return $char_index;
  51. }
  52. }
  53. return -1;
  54. }
  55. ?>
複製代碼
首字母, PHP
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.