复制代码 代码如下:
$zhStr = '您好,中国!';
$str = 'Hello,中国!';
// 计算中文字符串长度
function utf8_strlen($string = null) {
// 将字符串分解为单元
preg_match_all("/./us", $string, $match);
// 返回单元个数
return count($match[0]);
}
echo utf8_strlen($zhStr); // 输出:6
echo utf8_strlen($str); // 输出:9
复制代码 代码如下:
/*
* 用于UTF8编码的程序
* 获得字符串的长度,一个中文表示3个长度
* itlearner注释
*/
function utf8_strlen($str) {
$count = 0;
for($i = 0; $i < strlen($str); $i++){
$value = ord($str[$i]);
if($value > 127) {
$count++;
if($value >= 192 && $value <= 223) $i++;
elseif($value >= 224 && $value <= 239) $i = $i + 2;
elseif($value >= 240 && $value <= 247) $i = $i + 3;
else die('Not a UTF-8 compatible string');
}
$count++;
}
return $count;
}
新闻热点
疑难解答