本文介绍的函数可以统计 UTF-8 字符串的长度,但不同的是,该函数并不考虑字节,这有些类似 Javascript 中字符串的 length 方法,一个字符全部按 1 个长度计算。
PHP:
PHP:
-
-
<?php
-
// 说明:计算 UTF-8 字符串长度(忽略字节的方案)
-
// 整理:http://www.CodeBit.cn
-
-
function strlen_utf8
(
$str
)
-
{
-
$i =
0;
-
$count =
0;
-
$len =
strlen
(
$str
);
-
while
(
$i <
$len
)
-
{
-
$chr =
ord
(
$str
[
$i
]
);
-
$count++;
-
$i++;
-
if
(
$i >=
$len
)
-
break;
-
-
if
(
$chr & 0x80
)
-
{
-
$chr <<=
1;
-
while
(
$chr & 0x80
)
-
{
-
$i++;
-
$chr <<=
1;
-
}
-
}
-
}
-
return
$count;
-
}
-
-
$str =
"Codebit.cn - 聚合小段精华代码";
-
-
echo strlen_utf8
(
$str
);
-
-
?>
-