PHP 계산에서 혼합된 문자열의 길이

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

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

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.