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...

android 导入项目 项目中文字乱码问题

android 导入项目 项目中文字乱码问题 分类: android 基础2012-03-02 17:40 5607人阅读 评论(7) 收藏 举报 androideclipseen...

Android 导入项目 项目中文字乱码问题

乱码问题出现了几次,一直没有在意,今天又出现了,现总结如下: eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工...

android 导入项目 项目中文字乱码问题

乱码问题出现了几次,一直没有在意,今天又出现了,现总结如下: eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的...

用PHP来截取中文字符串而不出现乱码的实现方法

如何截取中文字符串而不出现乱码?  /* 功能:截取全角和半角混合的字符串以避免乱码 参数: $str_cut 需要截断的字符串 $length  允许字符串显示的最大长度 */

字符串系列---最长回文字串

题目Given a string S, find the longest palindromic substring in S. * You may assume that the maximu...

九度OJ 1528 最长回文字串

题目地址:http://ac.jobdu.com/problem.php?pid=1528 回文大家应该都知道了,正反看都一样,题目意思就是求一个字符串的子串,要求这个子串是回文。 ...

最长回文字串(mancher算法)

POJ 3974 最长回文字串(manacher算法) 分类: 数据结构2013-09-06 14:43 490人阅读 评论(0) 收藏 举报 题意:给出一个字符串,求出最长回文字串。 思...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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