background image

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') {