|
发表于 2011-6-7 09:48:20
|
显示全部楼层
PHP复制代码 /** * 字符串字数截取
*
* @access public
* @param string $str 源串
* @param integer $cutleng 截取长度
* @return string
*/
function cutstring ($str, $cutleng)
{
$str = $str; //要截取的字符串
$cutleng = $cutleng; //要截取的长度
$strleng = strlen($str); //字符串长度
if($cutleng >= $strleng)
return $str; //截取的长度要小于等于字符串长度
$notchinanum = 0; //初始不是汉字的字符数
for($i=0;$i<$cutleng;$i++)
{
if(ord(substr($str,$i,1))<=128)
{
$notchinanum++;
}
}
if(($cutleng%2==1)&&($notchinanum%2==0)) //如果要截取奇数个字符,所要截取长度范围内的字符必须含奇数个非汉字,否则截取的长度加一
{
$cutleng++;
}
if(($cutleng%2==0)&&($notchinanum%2==1)) //如果要截取偶数个字符,所要截取长度范围内的字符必须含偶数个非汉字,否则截取的长度加一
{
$cutleng++;
}
$strResult = substr($str,0,$cutleng);
return $strResult;
} 复制代码
|
|