/*
*****************************************************************
* PHP截取UTF-8字符串,解决半字符问题。
* 英文、数字(半角)为1字节(8位),中文(全角)为3字节
* @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串
* @param $str 源字符串
* $len 左边的子串的长度
*************************************************************** */
function utf_substr( $str , $len ){
for ( $i = 0 ; $i < $len ; $i ++ )
{
$temp_str = substr ( $str , 0 , 1 );
if ( ord ( $temp_str ) > 127 )
{
$i ++ ;
if ( $i < $len )
{
$new_str [] = substr ( $str , 0 , 3 );
$str = substr ( $str , 3 );
}
}
else
{
$new_str [] = substr ( $str , 0 , 1 );
$str = substr ( $str , 1 );
}
}
return join ( $new_str );
}
* PHP截取UTF-8字符串,解决半字符问题。
* 英文、数字(半角)为1字节(8位),中文(全角)为3字节
* @return 取出的字符串, 当$len小于等于0时, 会返回整个字符串
* @param $str 源字符串
* $len 左边的子串的长度
*************************************************************** */
function utf_substr( $str , $len ){
for ( $i = 0 ; $i < $len ; $i ++ )
{
$temp_str = substr ( $str , 0 , 1 );
if ( ord ( $temp_str ) > 127 )
{
$i ++ ;
if ( $i < $len )
{
$new_str [] = substr ( $str , 0 , 3 );
$str = substr ( $str , 3 );
}
}
else
{
$new_str [] = substr ( $str , 0 , 1 );
$str = substr ( $str , 1 );
}
}
return join ( $new_str );
}