关于半个中文的判断

//修复中文字
function fix_half_chinese_string($str){
  //预定补位
  $fix_c = chr(129);
  $half = false;
  $str_l = strlen($str);
  for($i=0;$i < $str_l; $i++){
    //第一个为中文
    if( ord($str[$i]) >127 ){
      $half = true;
      //第二个为中文
      if( $i+1 >= $str_l ) break;
      if( ord($str[$i+1]) >127 ){
        $half = false;
        $i++;
        continue;
      }
      //中途有半字
      else{
        //插入补位
        $last = substr($str,$i+1,strlen($str));
        $str[$i+1] = $fix_c;
        $str .= $last;
        $half = false;
        $i++;
      }
    }
    //非中文
    else continue;
  }
  //最后一位为半字
  if( $half ) $str .= $fix_c;
  return $str;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值