PHP实现中文字串截取无乱码的方法

原创 2007年09月26日 17:18:00
 
当用 substr 截取中文字符的时候会出现乱码,当然你如果装了 mb 扩展, mb_substr截取就不会出现这种问题,如果你用的是虚拟主机,主机上又没装 mb扩展的话,你可以用下面的函数截取
 
# Cut chinese string into appointed length
 # @param [string] string need deal
 # @param [start]  position to cut from
 # @param [length] length to cut
 # @return string
 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){
     $str.=substr($string,$i,2);
     $i++;
    }else{
     $str.=substr($string,$i,1);
    }
   }
   return  $str.'...';
  }else{
   return $string;
  }
 }
 

php实现中文字串截取无乱码的三种方法(详)

substr的用法(看手册): 定义和用法 substr() 函数返回字符串的一部分。 注释:如果 start 参数是负数且 length 小于或等于 start,则 l...
  • m0_37279699
  • m0_37279699
  • 2017年05月04日 22:34
  • 1011

PHP 实现中文截取无乱码的方法

PHP 实现中文截取无乱码的方法
  • Air_hjj
  • Air_hjj
  • 2017年03月30日 15:30
  • 330

实现中文字符串截取无乱码的方法

方法一:使用php内置函数mb_substr(); mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断...
  • qq_27808305
  • qq_27808305
  • 2017年08月30日 21:12
  • 260

PHP实现中文字串截取无乱码

在PHP中需要对字符串进行截取,如果没有装mb扩展(mb_substr函数),对中文截取就需要进行相应的处理。下面是对字符串 “世s界s的功s\\\夫萨的mn是非得失sdf dsf dsf 达” 截取...
  • qq_22520587
  • qq_22520587
  • 2017年03月16日 22:21
  • 93

php实现中文字串截取无乱码的方法

//实现中文字串截取无乱码的方法 header('Content-Type:text/html ; charset = utf8'); //自定义函数求长度 function strlen_ut...
  • wang544831183
  • wang544831183
  • 2017年08月21日 10:20
  • 100

php 实现中文字串截取无乱码的方法

//实现中文字串截取无乱码的方法。(3分)用mb_substr()或: 答:function GBsubstr($string, $start, $length) {     if(strlen($s...
  • lifushan123
  • lifushan123
  • 2015年04月05日 01:58
  • 443

实现中文字串截取无乱码的方法php

function GBsubstr($string, $start, $length) { if(strlen($string)>$length){ $str=null; $le...
  • ssj125
  • ssj125
  • 2009年09月13日 13:38
  • 712

PHP实现中文字串截取无乱码的方法…

在ASCII中,0xa0表示汉字的开始 其中php中的一个函数ord()函数 此函数功能返回一个字符的askii码值; 如ord('A')=65; 请看此函数 实现中文字串截取无 这是明显...
  • zhanqixuan22
  • zhanqixuan22
  • 2016年05月31日 14:21
  • 280

实现中文字串截取无乱码的方法

//$start:指定开始截取字符串的位置;$length指定截取字符的长度 function substr2($string, $start, $length) { $len = strlen($s...
  • kaylio
  • kaylio
  • 2014年12月22日 17:06
  • 474

中文字串截取无乱码的问题

UTF-8中文截取函数 在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编...
  • txl16211
  • txl16211
  • 2014年06月18日 20:27
  • 729
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP实现中文字串截取无乱码的方法
举报原因:
原因补充:

(最多只允许输入30个字)