while
(
$n
<
strlen
(
$string
)) {
$t
= ord(
$string
[
$n
]);
if
(
$t
== 9 ||
$t
== 10 || (32 <=
$t
&&
$t
<= 126)) {
$tn
= 1;
$n
++;
}
elseif
(194 <=
$t
&&
$t
<= 223) {
$tn
= 2;
$n
+= 2;
}
elseif
(224 <=
$t
&&
$t
<= 239) {
$tn
= 3;
$n
+= 3;
}
elseif
(240 <=
$t
&&
$t
<= 247) {
$tn
= 4;
$n
+= 4;
}
elseif
(248 <=
$t
&&
$t
<= 251) {
$tn
= 5;
$n
+= 5;
}
elseif
(
$t
== 252 ||
$t
== 253) {
$tn
= 6;
$n
+= 6;
}
else
{
$n
++;
}
$noc
++;
if
(
$noc
>=
$length
) {
break
;
}
}
if
(
$noc
>
$length
) {
$n
-=
$tn
;
}
$strcut
=
substr
(
$string
, 0,
$n
);
}
else
{
for
(
$i
= 0;
$i
<
$length
;
$i
++) {
$strcut
.= ord(
$string
[
$i
]) > 127 ?
$string
[
$i
] .
$string
[++
$i
] :
$string
[
$i
];
}
}
return
$strcut
.
$dot
;
}
/**
*
得字符串的长度,包括中英文。
*/
function
mstrlen(
$str
,
$charset
= 'UTF-8') {