substr($tmpStr,0,1024)函数,但要注意最后一个字节的判断,即英文和中文的判断,否则会有乱码显示的。
解决方案 »
- 别人写的数据库表权根控制,有经验的同志帮忙看下?我看不太明白
- 关于PHP代码生成文本框的位置问题
- 为什么我外面的add_news.php调用不到里fckeditor
- 关于一个表单传递数据插入数据库的简单问题
- 100分求助 如何把Discuz6.1制作成单版论坛的模式呢?有参照站
- 如何用php写个 注册 发送激活邮件的功能
- PHP能否实现打开服务器端outlook程序
- 一个n思不得其解的超超超级难的关于分页函数的问题
- 在IF语句中使用HEADER()函数是不是需要更改配置?
- 帮忙修改修改
- 一时晕呼了:将000765323之类的字符转换成数字765323是什么函数来着?
- 好恐怖的问题(谁能告诉我该怎么办?解决不了可能项目会流产)
http://expert.csdn.net/Expert/topic/1562/1562793.xml?temp=.4384882
解决了 不敢独享
代码如下:
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." 页 ";
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>";
} }
我是参考 http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=163168具体效果 http://www.0757info.com/expert/index.php