PHP中文截取函数

1 /**
2 * 中文截取函数
3 *
4 * @param string $str 字符串
5 * @param int $star 截取开始字节位置
6 * @param int $len 截取长度
7 */
8 function chinesesubstr($str, $star, $len) {
9
10 /* 需要截取的长度 */
11 $strlen = $star + $len;
12 for($i=0; $i<$strlen; $i++){
13
14 /* 在gb库里汉字的asc码总是大于0xa0可以用这个来判断是不是汉字 */
15 if ( ord(substr($str, $i, 1)) > 0xa0 ) {
16
17 /* 在gb2312中一个汉字占两个字节 */
18 $tmpstr.=substr($str,$i,2);
19 $i++;
20 } else {
21
22 /* 非中文字符占一个字节 */
23 $tmpstr.=substr($str,$i,1);
24 }
25 }
26 return $tmpstr;
27 }
28
29 /* 转换成GB2312字符 */
30 $str = iconv("UTF-8","GB2312",$str);
31 echo chinesesubstr($str, 0, 1);

 

posted @ 2010-11-01 16:37  wgw8299  阅读(247)  评论(0编辑  收藏  举报