截取指定字数的字符串(中文有效)

overme6个月前 (10-17)网页设计274
function csubStr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;

for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;

if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}

例子:$str = csubStr(“大家好,截取指定字数的字符串,886!”,0,10);
通常可以用来显示论坛主题列表,比如配合下面这个函数:

function showShort($str,$len)
{
if($len < (strlen($str)/2))
{
$tempStr = csubStr($str,0,$len);
$tempStr .= “…”;
}
else
{
$tempStr =$str;
}

return $tempStr;
}

主题超过指定字数,就截取,然后加上省略号。否则显示全部字数。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。