zoukankan      html  css  js  c++  java
  • php统计中英文混合的文章字数

    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; 
    }
    

      

    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,0,$len); 
    if(!$hasAsc) 
    if($len & 0x01) #如果长度是奇数 
    return substr($str,0,$len+$len-2); 
    else 
    return substr($str,0,$len+$len); 
    $cind=0;$flag=0; 
    while($cind<$ascLen) 
    { 
    if(ord(substr($str,$cind,1))<0xA1) $flag++; 
    $cind++; 
    } 
    if($flag & 0x01) 
    return substr($str,0,$len); 
    else 
    return substr($str,0,$len-1); 
    }
    

      

  • 相关阅读:
    git 学习
    C语言 do while 语句
    C语言 计算班级平均成绩以及不及格的人数
    C语言 加减算法
    C语言 两个日期间的天数计算
    C语言 梯形面积
    C语言 while语句
    C语言 分段函数if else语句
    C语言 乘法运算
    C语言学习,for循环
  • 原文地址:https://www.cnblogs.com/tdalcn/p/8651864.html
Copyright © 2011-2022 走看看