標(biāo)題: wap開發(fā)篇---大文章截取無亂碼(utf-8) [打印本頁]
作者: 游子云 時(shí)間: 2005-11-14 12:42 AM 標(biāo)題: wap開發(fā)篇---大文章截取無亂碼(utf-8)
CODE: [Copy to clipboard]
<? /*********************************************************** Copyright (C), 2005, Author: 游子云 Description: Version: 1.0 Date: 2005-11-13 ************************************************************/ class strPage { var $PageWordNum; var $CLength; var $PageLength; var $content; var $clen; var $start; var $PageWordNum; var $content; var $stringLen; var $tmpstr; var $page; var $url_str; var $PageCount; function SubstrGB($content,$start,$PageWordNum) { $this->start=$start; $this->content=strip_tags($content); $this->PageWordNum=$PageWordNum; $this->stringLen=mb_strlen($this->content); $this->clen=0; for($i=0;$i<$this->stringLen;$i++,$this->clen++) { if ($this->clen>=$this->start+$this->PageWordNum) break; if(ord(mb_substr($this->content,$i,1))>0xa0) { if ($this->clen>= $this->start) $this->tmpstr.=mb_substr($this->content,$i,2); $i++; } else { if ($this->clen>= $this->start) $this->tmpstr.=mb_substr($this->content,$i,1); } } return $this->tmpstr; }
function ff_page($page,$url_str) { $this->page=$page; $this->url_str=$url_str; $this->PageLength = $this->PageWordNum*2; //每頁字?jǐn)?shù) $this->PageCount = ceil(($this->stringLen/$this->PageWordNum)); //計(jì)算頁數(shù) //--最后一頁 if($this->PageCount>1) { $this->tmpstr= "<br/><br/><br/><center>"; $this->tmpstr.= (iconv("gb2312","UTF-8","第"))."<font color=‘ff0000‘>".$this->page."</font>".(iconv("gb2312","UTF-8","頁共")).$this->PageCount.(iconv("gb2312","UTF-8","頁"))." ";
if($this->page>1) $this->tmpstr.= "<a href=\"".$PHP_SELF."?".$this->url_str."&f_page=".($this->page-1)."\">".(iconv("gb2312","UTF-8","上一頁"))."</a> "; else $this->tmpstr.= iconv("gb2312","UTF-8","上一頁"); if ((intval($this->page/10))<(intval($this->PageCount/10))) { $pg=(ceil($this->page/10))*10; $i=(ceil($this->page/10)-1)*10+1; } elseif((intval($this->page/10))==(intval($this->PageCount/10))) { $i=intval($this->PageCount/10)*10+1; $pg=($this->PageCount-(intval($this->PageCount/10))*10)+(intval($this->PageCount/10))*10; } else{ $pg=10; $i=1; } for($i;$i<=$pg;$i++) { if ($i==$this->page) { $this->tmpstr.= "<a href=\"".$PHP_SELF."?".$this->url_str."&f_page=".$i."\">[".$i."]</a> "; } else { $this->tmpstr.= "<a href=\"".$PHP_SELF."?".$this->url_str."&f_page=".$i."\">".$i."</a> "; } } if($this->page<$this->PageCount) $this->tmpstr.= " <a href=\"".$PHP_SELF."?".$this->url_str."&f_page=".($this->page+1)."\">".(iconv("gb2312","UTF-8","下一頁"))."</a>"; else $this->tmpstr.= (iconv("gb2312","UTF-8","下一頁")); $this->tmpstr.= "</center>"; } return $this->tmpstr; }//end
}
?>
[ Last edited by 游子云 on 2005-11-14 at 12:47 AM ]
作者: 游子云 時(shí)間: 2005-11-14 12:46 AM
CODE: [Copy to clipboard]
實(shí)例化 $comment=""http://你要輸出的文件 if (isset($_GET[‘f_page‘])) { $f_page= intval($_GET[‘f_page‘]); } else { $f_page=1; } $PageWordNum=200; $str_page=new strPage(); $scomment= $str_page->SubstrGB($comment,($f_page-1)*$PageWordNum,$PageWordNum); //echo $scomment; echo (iconv("gb2312","UTF-8",$scomment)); $spage=$str_page->ff_page($f_page,$url_str); echo $spage;
作者: 游子云 時(shí)間: 2005-11-14 12:48 AM 打開extension=php_mbstring.dll
作者: phphp 時(shí)間: 2005-11-14 01:25 PM 恕小的不敬,折騰半天就截取不亂碼的事 我還以為版主把智能斷頁,解析html的問題解決了 [ Last edited by phphp on 2005-11-14 at 01:27 PM ]
|