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

  • 相关阅读:
    一款非常好用的范围滑动插件
    设置滚动条样式
    Qml 定义 constant
    qml 中 使用 shader
    Qt ImageProvider 的使用
    qt 汉化 国际化
    qt rcc 使用
    CentOS7/RHEL7 pacemaker+corosync高可用集群搭建
    Ubunt平台Qt出现:-1: error: cannot find -lgl
    排序-堆排序
  • 原文地址:https://www.cnblogs.com/keringing/p/9160874.html
Copyright © 2011-2022 走看看