首先你要知到该行有多长哦,
比如长是$length=20;
if(strlen($string)>20){
$tmpstr=substr($string,0,17);
echo $tmpstr."...";
}else{
echo $string;
}
比如长是$length=20;
if(strlen($string)>20){
$tmpstr=substr($string,0,17);
echo $tmpstr."...";
}else{
echo $string;
}
{
if(strlen($str)>$len)
{
$temp=0;
for($i=0;$i<$len;$i++)
{
if(ord($str[$i])>0xa0) $temp++;
}
if($temp%2==0) $str=substr($str,0,$len)."...";
else $str=substr($str,0,$len+1)."...";
}
return $str;
}
$str="aasdf";
$str_len=11;//你规定字符的长度.
$len=strlen($str);
$str1=substr($str,0,$str_len);
ord(substr($str1,-1));if(ord(substr($str1,-1,1))>=156)
{
$str1=substr($str,0,12);
}
if($len>$str_len) {
$str1.="...";
}
print $str1;
?>
这段代码可以解决你说的问题.如果里面有文字也不会出现乱码.如你取单数.不成熟看看吧.