Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32229
  • 博文数量: 15
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-05 10:19
文章分类
文章存档

2011年(1)

2009年(14)

我的朋友
最近访客

分类:

2009-04-01 21:08:08

  PHP语言自带的substr可以提供这样的功能,但是因为substr只支持半角的英文或数字符号,对中文截断容易出现乱码,所以需要自定义一个对中文进行截断的函数:

function substrgb($in,$num){
   $pos=0;
   $out="";
   while($c=substr($in,$pos,1)){
    if($c=="\n") break;
    if(ord($c)>128){
     $out.=$c;
     $pos++;
     $c=substr($in,$pos,1);
     $out.=$c;
    }else{
     $out.=$c;
    }
    $pos++;
    if($pos>=$num) break;
   }
   if($out!=$in) $out = $out . "...";
   return $out;
}
?>

其中$in为需要处理的字符,$num为截断的字符数。

这是在一本书中的一个函数,我觉得挺不错的。今天用到了,也就贴出来了。

阅读(520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~