background image

if

 (ord(

$str

[

$i

]) > 127) 

$i

 += 3; 

}

else

$i

 += 1; 

$cur_len

 ++; 

$end_pos

 = 

$i

return

 

substr

(

$str

,

$start_pos

,

$end_pos

); 


?> 
 
其实,PHP 原生就有多 charset 下字符截取方案,额,所以就是这个样子...囧.. 
Multibyte String Functions

 

函数族中,

 
string mb_substr ( string 

$str

 , int 

$start

 [, int 

$length

 [, string 

$encoding

 ]] ) 

 

用来字符串截取

int mb_strlen ( string 

$str

 [, string 

$encoding

 ] ) 

 

返回字符串长度

....