Home  >  Article  >  php教程  >  php 截取一定长度的字符串(该函数对GB2312使用有效

php 截取一定长度的字符串(该函数对GB2312使用有效

WBOY
WBOYOriginal
2016-06-13 11:18:48812browse

 

php教程 截取一定长度的字符串(该函数对gb2312使用有效

function ssubstr($string, $length, $dot = ' ...') {
 global $charset;

  if(strlen($string)    return $string;
  }
  $string = str_replace(array('&', '"', ''), array('&', '"', ''), $string);
  $strcut = '';
  if(strtolower($charset) == 'utf-8') {
   $n = $tn = $noc = 0;
   while($n      $t = ord($string[$n]);
     if($t == 9 || $t == 10 || (32    $tn = 1; $n++; $noc++;
     } elseif (194    $tn = 2; $n += 2; $noc += 2;
     } elseif (224    $tn = 3; $n += 3; $noc += 2;
     } elseif (240    $tn = 4; $n += 4; $noc += 2;
     } elseif (248    $tn = 5; $n += 5; $noc += 2;
     } elseif ($t == 252 || $t == 253) {
   $tn = 6; $n += 6; $noc += 2;
     } else {
   $n++;
     }
     if($noc >= $length)
     {
   break;
     }
   }
    if($noc > $length)
    {
    $n -= $tn;
    }
   $strcut = substr($string, 0, $n);
  } else {
    for($i = 0; $i     {
     $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
    }
  }
 $strcut = str_replace(array('&', '"', ''), array('&', '"', ''), $strcut);
 return $strcut.$dot;
}

 
截取一定长度的字符串(该函数对gb2312使用有效)
function wordscut($string, $length ,$sss=0) {

if(strlen($string) > $length) {
               if($sss){
$length=$length - 3;
$addstr=@# ...@#;

}
  for($i = 0; $i    if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1]; //
$i++;
   } else {
$wordscut .= $string[$i];
   }
  }
  return $wordscut.$addstr;
}
return $string;
}
?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn