PHP 中文字符串相关

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 '否';
}

posted on 2018-09-07 10:07  你看我哪里像好人  阅读(201)  评论(0编辑  收藏  举报

导航