echo "<a href=$yoursite/article.php/$article[articleid]>$article[title]</a>"; 
======>echo "<a href=$yoursite/article.php/$article[articleid]>substr($article[title],0,30)...</a>"; 

解决方案 »

  1.   

    楼上的方法不好,会出现? 或是其它字符,如果前30个字符中有英文字符又有中文,上面的就不好用,用这种方法
    $content="adff楼上的方法不好,会出fd现? 或是其它字fd符,如果前30个字符中有英文字符又有中文,上面的就不好用";
    echo "cSubstr($content,30)";//中文算二个字符,英算一个字符,输出15个汉字或是30个英文字母。function cSubstr($string,$sublength) {
        $len = strlen($string);
        if ($len <= $sublength){
            $string = $string;
        }else{
            $string = substr($string,"0",$sublength); 
            $parity= 0;
            for($j=0;$j<$sublength;$j++){ 
                $temp_str=substr($string,$j,1); 
                    if(Ord($temp_str)>127) $parity+=1; 
            } 
            if($parity%2==1) {
                $string=substr($string,0,($sublength-1)); 
            } else {
                $string=substr($string,0,$sublength); 
            }
        }
        return $string;}
      

  2.   

    截取字符,$string:需要截取的字符串
    $length:需要截取的长度
    function sub_str($string, $length) {
    if(strlen($string) > $length) {
    for($i = 0; $i < $length - 3; $i++) {
    if(ord($string[$i]) > 127) {
    $wordscut .= $string[$i].$string[$i + 1];
    $i++;
    } else {
    $wordscut .= $string[$i];
    }
    }
    return $wordscut.'…';
    }
    return $string;
    }
      

  3.   

    html 的title属性加
    一个函数.
    str_str()
      

  4.   

    文本摘要功能function substrex($str,$len){  
       $str = (string)$str;  
       $len = (int)$len;  
       $strlen = strlen($str);  
       if($len>$strlen) $len = $strlen;  
       $i = 0;  
       $fixlen = 0;  
       while($i<$len){  
          $chr = $str[$i];  
          $i++;  
          if(ord($chr)<0x80) $fixlen++;  //128D
          elseif($i<$len){  
            $i++;  
            $fixlen += 2;  
          }  
       }  
       $cutstr = substr($str,0,$fixlen);
       if ($str <> $cutstr) {
           $cutstr .= '...';
       }
       return $cutstr;}