PHP 계산
에코 ccstrlen ($str), '< 인사 >';
에코 Ccstrleft ($STR, 3)에 있는 혼합된 문자열의 길이;
함수 ($STR, $ Ccstrleft Len) #从左边截取中英文混合字符串
{
$ascLen = strlen ($STR); ($ascLen < = $len) 반환 $str;
$hasCC ereg ("[= XA1 XFE] ", $STR); #同上
$hasAsc = ereg ("[x01-xa0]", $str);
경우 (! $hasCC) 반환 substr ($str, 0, $len);
경우 (! $hasAsc)
경우 ($len & 0x01) #如果长度是奇数
반환 substr ($str, 0, $len + $len-2); Else
반환 substr ($str, 0, $len + $len).
$cind = 0; $flag = 0;
동안 ($cind < $ascLen)
{
경우 (Ord (substr ($str, $cind, 1)) < 0XA1) $flag + +;
$cind + +;
}
경우 ($flag & 0x01)
반환 substr ($str, 0, $len); Else
반환 substr ($str, 0, $len-1).
}
함수 Ccstrlen ($str) #计算中英文混合字符串的长度
{
$ccLen = 0
$ascLen strlen ($str).
$ind = 0;
$hasCC = = ereg (" [Xa1 xfe] ", $STR); #判断是否有汉字
$hasAsc = ereg ("[x01-xa0]", $str) #判断是否有ASCII字符
경우 ($hasCC & &! $hasAsc) #只有汉字的情况
반환 strlen ($STR) / 2;
경우 (! $hasCC & & $hasAsc) strlen ($STR)를 반환 하는 #只有Ascii字符的情况
위한 ($ind = 0; $ind < $ascLen; $ind + +)
{
경우 (오드 ($str, $ind, 1) > 0xa0)
{
$ccLen + +;
$ind + +;
}
다른 {
$ccLen + +;
}
} return $ccLen;
}
함수 cs ($str)
{
$ccLen = 0;
$ascLen = strlen ($STR);
$ind = 0;
위한 ($ind = 0 $ind < $ascLen; $ind + +)
{ 경우 (substr ($str, $ind, 1) > 0xa0)
{오드 $ccLen + +;
$ind + +;
}
다른
{ $ccLen + +;
}
}
반환 $ccLen;
} & nbsp