<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                新浪等一些大平臺新聞網站經常使用內容分頁技術,把一篇文章分成若干部分,每一部分作為其中一頁,以這種形式展現給用戶,不僅提升了用戶體驗,也提高了網站加載內容的效率,但是這種做法最大的問題就是在截取字符串的時候會出現亂碼,下面是我做的一個測試,基本沒什么問題,沒有亂碼出現。 代碼如下: header('content-type:text/html;charset="utf-8"'); class StrPage{ private $file;//文件內容 private $current;//當前頁 private $pageLen;//每頁顯示的內容長度 private $totalPage;//總頁數 private $url;//url地址 public function __construct($file,$len){ $a = array(' ',' ','\t','\n','\r','\s'); $b = array('','','','',''); $this->file = str_replace($a,$b,file_get_contents($file)); $this->current = $_GET['page'] ? $_GET['page'] : 1; $this->pageLen = $len; $this->totalPage = $this->getTotalPage(); $this->url = $this->getUrl(); } private function getTotalPage(){ return ceil( strlen($this->file) / $this->pageLen ); } private function getUrl(){ $url = parse_url($_SERVER['REQUEST_URI']); parse_str($url['query'],$arry); unset($arry['page']); $query = http_build_query($arry); return $url['path'].'?'.$query.'&page='; } private function first(){ if($this->current>1){ return '<a href="'.$this->url.'1">首頁&nbsp;&nbsp;</a>'; } } private function next(){ if($this->current<$this->totalPage){ return '<a href="'.$this->url.($this->current+1).'">下一頁&nbsp;&nbsp;</a>'; } } private function pre(){ if($this->current>1){ return '<a href="'.$this->url.($this->current-1).'">上一頁&nbsp;&nbsp;</a>'; } } private function end(){ return '<a href="'.$this->url.$this->totalPage.'">末頁</a>'; } private function subStrs($str){ if(ord(substr($this->file,$str,1))>127){ if(strlen(substr($this->file,0,$str))%3==1){ return $str+=2; }else if(strlen(substr($this->file,0,$str))%3==2){ return $str+=1; }else{ return $str+=0; } }else{ return $str+=0; } } public function getContents(){ $prePageLen = $this->subStrs(($this->current-1)*$this->pageLen); $currentPageLen = $this->subStrs($this->current*$this->pageLen); $string = substr($this->file,$prePageLen,$currentPageLen-$prePageLen); echo $prePageLen; echo $currentPageLen; return $string; } public function pageStyle(){ return '共有'.$this->totalPage.'頁&nbsp;&nbsp;'.$this->first().$this->pre().$this->next().$this->end(); } } $php = new StrPage('file.txt',500); echo '<div style="width:558px;height:368px;border:1px solid #f00;line-height:14px;font-size:14px">'.$php->getContents().'</div>'; echo '<div>'; echo $php->pageStyle(); echo '</div>'; 注意,你的文件編碼和php腳本的編碼要一致,我這邊用的是utf8編碼,在截取字符串避免亂碼的時候與gbk稍有不同,詳情請看上一章節。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看