PHP中的字符串截取函数,取子符串,以保证中文不出现乱码

/*
  进行字符串的截取
  $start:为子字符串的开始位置,
  $len为子字符串的长度
  $str为截取的字符串
  返回$str中从start开始的,长度为len的字符串的长度 

  作者:(fibona)熊祥众

  日期:2005年12月
 */
 function KTSubstr($str,$start,$len)
 {
  if($start< 0 && $len < 0)
  {
   return $str; 
  }
  
  if(($start+$len) >= strlen($str))
  {
   
   return substr($str,$start,$len);   
  }
  else
  {
   $j=0;
          $num=$len;
          for($i=$start; $i< $num-1;$i++)
          {
                  if(ord(substr($str,$i,1))>0xa0) $j++;
          }
          if($j%2!=0)
           {
                  $num=$num+1;
           }else
           {
                  $num=$num;
           }
           return substr($str,$start,$num-1)."..."; 
             
   /*
   if(ord(substr($str,$start+$len,1))>0xa0)
   {
    
    $m_strlen=$len+1;
    //echo $m_strlen;
    //echo "<hr>";
   }
   else
   {
    $m_strlen=$len;
   }
   
   return substr($str,$str,$m_strlen-1);
   */ 
  }
 }
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值