substr($tmpStr,0,1024)函数,但要注意最后一个字节的判断,即英文和中文的判断,否则会有乱码显示的。

解决方案 »

  1.   

    看看这个贴子:
    http://expert.csdn.net/Expert/topic/1562/1562793.xml?temp=.4384882
      

  2.   

    faint,我是要比较智能分页,截断我都会拉
      

  3.   

    找一下1024字节后,以1024字节位置开始,前后寻找\r\n\r\n  或<br><br>注:个人理解的是两个回车分段  将前后两段找到后,对比差值  比如说我象前找到<br><br>他距1024字节位置有80字节,向后找到<br><br>距离1024字节为120字节,因此我取前面1024-80字节为第一段终结字节  第二段则以1024-80开始,再找 2048-80左右的分页标志,这样一直找到最后
      

  4.   

    自己参考
    解决了  不敢独享
    代码如下:
    function ff_page($content,$page)
    {
    global $expert_id;
    $PageLength  =  2000;  //每页字数
    $CLength  =  strlen($content);  
    $PageCount  =  floor(($CLength / $PageLength))  +  1;  //计算页数
    $PageArray=array();
    $Seperator  =  array("\n","\r","。","!","?",";",",","”","’"); //分隔符号 //echo "页数:".$PageCount."<br>";
    //echo "长度:".$CLength."<br><br><br>"; $PageArray[0]=0;
    $Pos  =  0;  
    $i=0;
    //第一页
    for($j=0;$j<sizeof($Seperator);$j++)
    {
    //echo $Seperator[$j];
    $Pos=strpos($content,$Seperator[$j],$PageArray[$i]+1900);
    while($Pos  >  0  &&  $Pos  <  ($i+1)*$PageLength  &&  $Pos  >  $i*$PageLength )

    $PageArray[$i]  =  $Pos ; 
    $Pos  =  strpos($Pos+$PageLength,$content,$Seperator[$j]) ;
    }
    if($PageArray[$i]>0)
    {
    $j  =  $j  +  sizeof($Seperator)  +  1; 
    }
    } //---
    for($i=1;$i<$PageCount-1;$i++){ for($j=0;$j<sizeof($Seperator);$j++)
    {
    //echo $Seperator[$j];
    $Pos=strpos($content,$Seperator[$j],$PageArray[$i-1]+1900);
    while($Pos  >  0  &&  $Pos  <  ($i+1)*$PageLength  &&  $Pos  >  $i*$PageLength )

    $PageArray[$i]  =  $Pos ; 
    $Pos  =  strpos($Pos+$PageLength,$content,$Seperator[$j]) ;
    }
    if($PageArray[$i]>0)
    {
    $j  =  $j  +  sizeof($Seperator)  +  1; 
    }
    }
    }
    //--最后一页
    $PageArray[$PageCount-1]=$CLength; //$page=2;
    if($page==1)
    echo  $output=substr($content,0,$PageArray[$page-1]+2);
    if($page>1 && $page<=$PageCount)
    echo  $output=substr($content,$PageArray[$page-2]+2,$PageArray[$page-1]-$PageArray[$page-2]);
    //if($page==$PageCount)
    //return $output=substr($content,$PageArray[$page-2]+2,$PageArray[$page-1]-$PageArray[$page-2]);if($PageCount>1)
    {
    echo "<br><br><br><center>";
    echo "<font color='ff0000'>".$page."</font>/".$PageCount." 页  &nbsp;";
    if($page>1)
    echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page-1).">上一页</a> ";
    else
    echo "上一页 ";

    for($i=1;$i<=$PageCount;$i++)
    {

    echo "<a href=$PHP_SELF?expert_id=$expert_id&page_t=".$i.">[".$i."]</a> ";
    }

    if($page<$PageCount)
    echo " <a href=$PHP_SELF?expert_id=$expert_id&page_t=".($page+1).">下一页</a> ";
    else
    echo " 下一页 ";

    echo "</center>";
    } }
      

  5.   

    忘了写参考了 补上
    我是参考 http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=163168具体效果 http://www.0757info.com/expert/index.php