读取数据库
取得长度
判断符合否规定长度
  若符合直接赋值
  若不符合则截取并加"..."如此,主要用到一些简单的字符串函数,比如substr,strlen
很简单啦,自己写吧

解决方案 »

  1.   

    $string = "abagiceieieieie";
    if (len($string)>10){
       $str = substr($string,0,10)
    }
    echo $str."......";
    这样可以吗?
      

  2.   

    <?php
    /***************************************
    *  2002-12-03
    *  Eagle    www.ggajj.net
    *  [email protected] 
    *  Name: 自动截取指定字符
    ****************************************/  //---中文汉字载取,不出现乱码,感谢csdn.net上的朋友提供,经EAGLE修改
    function Getsubstr($str,$start,$len) 
      {   
         $strlen=strlen($str); 
         if ($start&gt;=$strlen) 
            return $str; 
         $clen=0; 
         for($i=0;$i&lt;$strlen;$i++,$clen++)   
         {        
            if(ord(substr($str,$i,1))&gt;0xa0) 
            { 
               if ($clen&gt;=$start) 
            $tmpstr.=substr($str,$i,2); 
            $i++; 
             } 
             else 
             {  
          if ($clen&gt;=$start) 
                   $tmpstr.=substr($str,$i,1); 
              } 
              if ($clen&gt;=$start+$len) 
           break; 
        }   
         return $tmpstr."......?";   
      } 
      

  3.   

    呵,这程序就是楼上的兄弟( xizi2002(戏子) )改的我刚才没看见高手在,实在出丑了
      

  4.   

    其实不出现乱码俺有一个很简单的方法,就是在截取完之后再接上一个chr(0)即可.不需要判断半个汉字.本是俺的秘技,为了赚点分就... 嘿嘿.
      

  5.   

    function FormatSub($sub,$len=40){
    if(strlen($sub)>$len)
    {
    $cha=false;
    for($j=0;$j<$len;$j++)
    if(ord(substr($sub,$j,1))>160)$cha=!$cha;
    if($cha)$len++;
    $tmp=substr($sub,0,$len);
    return $tmp."...";
    }
    else 
    {
    return $sub;
    }
    }