php统计中英文混合的文章字数

前端之家收集整理的这篇文章主要介绍了php统计中英文混合的文章字数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="cnblogs_Highlighter">
<pre class="brush:PHP;gutter:true;">function ccStrLen($str) #计算中英文混合字符串的长度
{
$ccLen=0;
$ascLen=strlen($str);
$ind=0;
$hasCC=ereg("[xA1-xFE]",$str); #判断是否有汉字
$hasAsc=ereg("[x01-xA0]",$str); #判断是否有ASCII字符
if($hasCC && !$hasAsc) #只有汉字的情况
return strlen($str)/2;
if(!$hasCC && $hasAsc) #只有Ascii字符的情况
return strlen($str);
for($ind=0;$ind<$ascLen;$ind++)
{
if(ord(substr($str,$ind,1))>0xa0)
{
$ccLen++;
$ind++;
}
else
{
$ccLen++;
}
}
return $ccLen;
}

  

Highlighter">
PHP;gutter:true;">function ccStrLeft($str,$len) #从左边截取中英文混合字符串 
{ 
$ascLen=strlen($str); if($ascLen<=$len) return $str; 
$hasCC=ereg("[xA1-xFE]",$str); #同上 
$hasAsc=ereg("[x01-xA0]",$str); 
if(!$hasCC) return substr($str,$len); 
if(!$hasAsc) 
if($len & 0x01) #如果长度是奇数 
return substr($str,$len+$len-2); 
else 
return substr($str,$len+$len); 
$cind=0;$flag=0; 
while($cind<$ascLen) 
{ 
if(ord(substr($str,$cind,1))<0xA1) $flag++; 
$cind++; 
} 
if($flag & 0x01) 
return substr($str,$len); 
else 
return substr($str,$len-1); 
}

  

原文链接:https://www.f2er.com/php/403026.html

猜你在找的PHP相关文章