PHP中截取固定长度字符串函数
2009-11-09 8:22 - PHP -
在网上看到一个函数,稍作修改
PHP:
-
//////
-
//用于文字长度
-
//$sourcestr为字符串
-
//$cutlength保留的最长字串长度(中文,一个中文相当于两个英文和半角符号)
-
//////
-
function cut_str($sourcestr,$cutlength)
-
{
-
$returnstr='';
-
$i=0;
-
$n=0;
-
while (($n<$cutlength*2) and ($i<=$str_length))
-
{
-
if ($ascnum>=224) //如果ASCII位高与224,
-
{
-
$i=$i+3; //实际Byte计为3
-
$n=$n+2;
-
}
-
else if ($ascnum>=192) //如果ASCII位高与192,
-
{
-
$i=$i+2; //实际Byte计为2
-
$n=$n+2;
-
}
-
else if ($ascnum>=65 && $ascnum<=90) //如果是大写字母,
-
{
-
$i=$i+1; //实际的Byte数仍计1个
-
$n++;
-
}
-
else //其他情况下,包括小写字母和半角标点符号,
-
{
-
$i=$i+1; //实际的Byte数计1个
-
$n++;
-
}
-
}
-
if ($str_length>=$cutlength*2)
-
{
-
$returnstr .= “..”;//超过长度时在尾处加上省略号
-
}
-
return $returnstr;
-
}