您好,登錄后才能下訂單哦!
使用PHP怎么對超長文本進行分頁顯示?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、代碼
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"> </td> <td width="489"> </td> <td width="44"> </td> </tr> <tr> <td height="245"> </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 //讀取超長文本中的數據,實現超長文本中數據的分頁顯示 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> "; echo "<a href=index.php?page=".($_GET['page']-1).">上一頁</a> "; } if($_GET['page']<$page_count){ echo "<a href=index.php?page=".($_GET['page']+1).">下一頁</a> "; echo "<a href=index.php?page=".$page_count.">尾頁</a>"; } ?> </span></td> </tr> </table> </td> <td> </td> </tr> <tr> <td height="234"> </td> <td> </td> <td> </td> </tr> </table> </body> </html>
2、function.php
<?php //定義一個用于截取一段字符串的函數msubstr() function msubstr($str,$start,$len){ //$str指的是字符串,$start指的是字符串的起始位置,$len指的是長度。 $strlen=$start+$len; //用$strlen存儲字符串的總長度(從字符串的起始位置到字符串的總長度) for($i=0;$i<$strlen;$i++){ //通過for循環語句,循環讀取字符串 if(ord(substr($str,$i,1))>0xa0){ //如果字符串中首個字節的ASCII序數值大于0xa0,則表示為漢字 $tmpstr.=substr($str,$i,2); //每次取出兩位字符賦給變量$tmpstr,即等于一個漢字 $i++; //變量自加1 }else{ //如果不是漢字,則每次取出一位字符賦給變量$tmpstr $tmpstr.=substr($str,$i,1); } } return $tmpstr; //輸出字符串 } ?>
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。