如何分别全角和半角以避免乱码 

  •   2009-07-31/22:59
  • function ChgTitle($title)
    {

    $length = 46;
    if (strlen($title)>$length) {
    $temp = 0;
    for($i=0; $i<$length; $i++)
    if (ord($title[$i]) > 128)
    $temp++;
    if ($temp%2 == 0)
    $title = substr($title,0,$length)."...";
    else
    $title = substr($title,0,$length+1)."...";
    }
    return $title;
    }

    原理就是截断一个字符,看看其ascII码是不是大于128,如果是,说明截断的是一个全角汉字,那么就退后一个截断。用$length控制长度

    备注:循环判断字符串里面的 >128 的字符个数,如果半角字符为偶数,则表示位置刚好为整个汉字,如果为奇数,则为半个汉字,需要取下一个字符 

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多