我这里好用<?php
function TrimChinese($str,$len){
   $r_str='';
   $i=0;
   while ($i< $len){
$ch=substr($str,$i,1);
if(ord($ch)>0x80) $i++;
     $i++;
   }
   $r_str=substr($str,0,$i);
   return $r_str;
} echo TrimChinese('aaaaaaaaaaaaaaaaaa',3); //输出3个a
echo TrimChinese('今天星期天',6); //输出“今天星”
?>

解决方案 »

  1.   

    现在成功了.可又有新的问题出来了.就是说,如果$title如果超过10个字符的话,我想后面就用省略号.如果不会超过就原样输出.
      主要的代码如下:
    <?php
    $str=$title;
    $len=30;
    echo "<td align='left'><img src='indexfiles/BLUEBALL.GIF' width='11' height='12'></td>"; 
    if ($r_str=='0') 
    echo "<td align='center'><font size='2'>--</font></td>"; 
    else 
    $stt=TrimChinese($str,$len);
    echo "<td align='left'><font size='2'><a href=zxdt.php?id=$id target=_blank>$stt</a></font></td>"; echo "<td align='left'><i><font size='2' color='#999999'>$created</font></i></td>"; 
    echo "</tr>";} 
            echo "</table>"; 
    mysql_close($con); 
    ?> 
    这要怎么解决啊!各位大侠再帮我看看,谢谢!
      

  2.   

    先判断title的长度。
    if (strlen($str)>10)
    {
       $r_str = TrimChinese($str,10);
       $r_str .= ".....";
    }
    else
      $r_str = $str;
      

  3.   

    真费劲$text = "现在成功了.可又有新的问题出来了.";
    echo strlen($text)<=10 ? $text : substr($text,0,10).char(0)."...";