1、字符串长度
中文字符串使用strlen() 获取字符串长度时一个UTF8的中文字符是3个字节长度;使用mb_strlen(),选定内码为UTF8,则会将一个中文字符当作长度1来计算
在对含中文字符串截取时
$str = "this你看我哪里像好人";echo substr($str,4,4);//你�echo mb_substr($str,4,4,'UTF-8');//你看我哪echo mb_strcut($str,4,4,'UTF-8');//你
2、字符串中中文验证
a、字符串中是否含中文
$str = "this你看我哪里像好人";$pattern = '/[\x7f-\xff]/'; // OR $pattern = '/[^\x00-\x80]/'; echo preg_match($pattern, $str) ? '有' : '无';
b、字符串中是否只含中文
$str = "this你看我哪里像好人";if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) { echo '是';} else { echo '否';}if (!eregi("[^\x80-\xff]", "$str")) { echo '是';} else { echo '否';}