本文實例講述了PHP實現(xiàn)的超長文本分頁顯示功能。分享給大家供大家參考,具體如下:
一、代碼
1、index.php
?php if ($_GET['page']=="") {$_GET['page']=1;}; include("function.php");?> html> head> meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> title>超長文本的分頁顯示/title> /head> style type="text/css"> !-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; } a:link { text-decoration: none; } a:visited { text-decoration: none; } a:hover { text-decoration: none; } a:active { text-decoration: none; } .STYLE3 {color: #333333; font-size: 13px; } --> /style> body> table width="876" height="638" border="0" align="center" cellpadding="0" cellspacing="0"> tr> td width="343" height="159">nbsp;/td> td width="489">nbsp;/td> td width="44">nbsp;/td> /tr> tr> td height="245">nbsp;/td> td align="center" valign="top">table width="480" border="0" cellspacing="0" cellpadding="0"> tr> td height="22" colspan="2"> span class="STYLE3"> ?php //讀取超長文本中的數(shù)據(jù),實現(xiàn)超長文本中數(shù)據(jù)的分頁顯示 if($_GET['page']){ $counter=file_get_contents("file/file.txt"); $length=strlen($counter); $page_count=ceil($length/950); $c=msubstr($counter,0,($_GET['page']-1)*950); $c1=msubstr($counter,0,$_GET['page']*950); echo substr($c1,strlen($c),strlen($c1)-strlen($c)); } ?> /span> /td> /tr> tr> td width="202" height="22">span class="STYLE3">頁次:?php echo $_GET['page'];?> / ?php echo $page_count;?> 頁 /span>/td> td width="278">span class="STYLE3">分頁: ?php if($_GET['page']!=1){ echo "a href=index.php?page=1>首頁/a>nbsp;"; echo "a href=index.php?page=".($_GET['page']-1).">上一頁/a>nbsp;"; } if($_GET['page']$page_count){ echo "a href=index.php?page=".($_GET['page']+1).">下一頁/a>nbsp;"; echo "a href=index.php?page=".$page_count.">尾頁/a>"; } ?> /span>/td> /tr> /table> /td> td>nbsp;/td> /tr> tr> td height="234">nbsp;/td> td>nbsp;/td> td>nbsp;/td> /tr> /table> /body> /html>
2、function.php
?php //定義一個用于截取一段字符串的函數(shù)msubstr() function msubstr($str,$start,$len){ //$str指的是字符串,$start指的是字符串的起始位置,$len指的是長度。 $strlen=$start+$len; //用$strlen存儲字符串的總長度(從字符串的起始位置到字符串的總長度) for($i=0;$i$strlen;$i++){ //通過for循環(huán)語句,循環(huán)讀取字符串 if(ord(substr($str,$i,1))>0xa0){ //如果字符串中首個字節(jié)的ASCII序數(shù)值大于0xa0,則表示為漢字 $tmpstr.=substr($str,$i,2); //每次取出兩位字符賦給變量$tmpstr,即等于一個漢字 $i++; //變量自加1 }else{ //如果不是漢字,則每次取出一位字符賦給變量$tmpstr $tmpstr.=substr($str,$i,1); } } return $tmpstr; //輸出字符串 } ?>
二、運行結(jié)果
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)學(xué)運算技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》及《php正則表達式用法總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。