加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php按字符无乱码截取中文的方法

发布时间:2020-12-13 02:31:33 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:php按字符无乱码截取中文的方法》要点: 本文介绍了PHP实战:php按字符无乱码截取中文的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php按字符无乱码截取中文的办法.供大家参考研究.具体实现办法如下: PHP教程 ?php//$

《PHP实战:php按字符无乱码截取中文的方法》要点:
本文介绍了PHP实战:php按字符无乱码截取中文的方法,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解php按字符无乱码截取中文的办法.分享给大家供大家参考.具体实现办法如下:PHP教程

<?php
//$str 待截取的字符串
//$len 截取的字符个数
//$chars 已经截取的字符数
//$res  保存的字符串
//$chars 保存已经截取的字符串个数
//$offset 截取的偏移量
//$length 字符串的字节数
//若$len>$str的字符个数,造成无谓的while循环,($offset<$length限定)
function utf8sub($str,$len){
  if($len<=0){
    return ;
  }
  $res="";
  $offset=0;
  $chars=0;
  $length=strlen($str);
  while($chars<$len && $offset<$length){
    $hign=decbin(ord(substr($str,$offset,1)));
      if(strlen($hign)<8){
        $count=1;
      }elseif(substr($hign,3)=="110"){
        $count=2;
      }elseif(substr($hign,4)=="1110"){
        $count=3;
      }elseif(substr($hign,5)=="11110"){
        $count=4;
      }elseif(substr($hign,6)=="222220"){
        $count=5;
      }elseif(substr($hign,7)=="2222210"){
        $count=6;
      }
    $res.=substr($str,$count);
    $offset+=$count;
    $chars+=1;
  }
  return $res;
}
function utf8sub1($str,$len){
  $chars=0;
  $res="";
  $offset=0;
  $length=strlen($str);
  while($chars<$len && $offset<$length){
    $hign=decbin(ord(substr($str,1)));
    if(strlen($hign)<8){
      $count=1;
    }elseif($hign & "11100000"=="11000000"){
      $count=2;
    }elseif($hign & "11110000"=="11100000"){
      $count=3;
    }elseif($hign & "22222000"=="11110000"){
      $count=4;
    }elseif($hign & "22222100"=="22222000"){
      $count=5;
    }elseif($hign & "22222110"=="22222100"){
      $count=6;
    }
    $res.=substr($str,$count);
    $chars++;
    $offset+=$count;
  }
  return $res;
}
$a="中华ah人民hdj";
echo utf8sub($a,5);
?>

希望本文所述对大家的php程序设计有所赞助.PHP教程

欢迎参与《PHP实战:php按字符无乱码截取中文的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读