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);
   */ 
  }
 }
 

發佈了39 篇原創文章 · 獲贊 12 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章