加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 取得字符串的首字母(适用于中文字符串)

发布时间:2020-05-30 21:42:41 所属栏目:PHP 来源:互联网
导读:php 取得字符串的首字母(适用于中文字符串)

对php取得字符串的首字母(适用于中文字符串)感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编两巴掌来看看吧!


/**
 * php取得字符串的首字母(适用于中文字符串)
 *
 * @param 
 * @arrange 网: www.www.jb51.cc
 **/
$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,//U
	array(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,2))));
		printf("%c",$t==-1 ? '*' : $t );
		$i+=2;
	}
	else{
		printf("%s",substr($str,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;
}
/***   来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读