這篇文章主要介紹了php取得字符串首字母的方法,支持中文字符串的操作,涉及php操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了php取得字符串首字母的方法。分享給大家供大家參考。具體實現方法如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 <?php $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 ); $str="A:這是一個測試程序1"; $str= iconv("UTF-8","gb2312", $str); echo $str."</br>"; $i=0; while($i<strlen($str) ) { $tmp=bin2hex(substr($str,$i,1)); if($tmp>='B0'){ //漢字的開始 $t=getLetter(hexdec(bin2hex(substr($str,$i,2)))); printf("%c",$t==-1 ? '*' : $t ); $i+=2; } else{ printf("%s",substr($str,$i,1)); $i++; } } function getLetter($num){ global $limit; $char_index=65; foreach($limit as $k=>$v){ if($num>=$v[0] && $num<=$v[1]){ $char_index+=$k; return $char_index; } } return -1; } ?>希望本文所述對大家的php程序設計有所幫助。