<?php
$sql = "SELECT * FROM `user` ORDER BY `score` DESC LIMIT 0,8";
mysql_query("SET NAMES UTF8");
$result = mysql_query($sql,$conn);
while($row = @mysql_fetch_array($result))
{
echo mb_substr("$row[name]",0,7,'utf-8')."…";
}
?>o(∩_∩)o...哈哈,代码改好,等着结帖给分……

解决方案 »

  1.   

    function CsubStr($str, $start=0, $length=20, $suffix='...', $charset="utf8"){
    if(@function_exists("mb_substr")){
    $slice = @mb_substr($str, $start, $length, $charset);
    if( mb_strlen($str,$charset) > $start+$length )$slice.=$suffix;
    return $slice;
    }
    }
      

  2.   

    echo mb_substr("$row[name]",0,7,'utf-8').((mb_substr("$row[name]",0,7,'utf-8') == $row["name"])?"":"…");
      

  3.   


    我是说大于7时才追加省略号。不能给你分,嘿嘿。这个不行,改了之后什么都没显示出来。这个看起来好像可行,但怎么用呢?是不是还要改改?改完之后放哪里?对PHP不怎么懂~呵呵~~
      

  4.   


    就是先截取,然后将截取后的结果和未截取的进行比较,如果不相同,就需要追加省略号。呵呵,我把他用在wordpress里了~