ord()函数判断字符串是否为汉字

1.int ord ( string $string ) --- 返回字符串 string 第一个字符的 ASCII 码值。

echo ord('Abjds'); //返回 65 A的ASCII码值

2.string chr ( int $ascii ) --- 返回相对应于 ASCII所指定的单个字符

echo chr(65) //返回 A

用途: 通过这个来判断截取的字符串第一个字符是不是汉字,在ASCII中,0xa0表示汉字的开始

例如: GBK编码格式截取汉字字符串无乱码

<?php
function GBsubstr($string, $start, $length) {
    if(strlen($string)>$length){
        $str=null;
        $len=$start+$length;
        for($i=$start;$i<$len;$i++){
            if(ord(substr($string,$i,1))>0xa0){
                //ord()函数返回字符的 ASCII (美国国家标准交换码) 序数值。本函数和 chr() 函数相反。
                $str.=substr($string,$i,2);
                $i++;
            }else{
                $str.=substr($string,$i,1);
            }
        }
        return $str.'...';
    }else{
        return $string;
    }
}
echo GBsubstr("我1234是个好学生",0,8);  //我1234是....
?>

转载于:https://my.oschina.net/u/2299514/blog/808868

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值