/** * PHP截取UTF-8字符串,解决半字符问题。 * 英文、数字(半角)为1字节(8位),中文(全角)为2字节 * @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){ 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); }