问题:使用DedeCMS采集的文章有分页,生成页面后内容显示不全。如何去除采集文章中的#p #副标题#e#?如何不让有#p #副标题#e#的文章分页
解决:修改生成页面的代码,include/arc.archives.class.php
方法:
一、打开include/arc.archives.class.php
注释250-277行
//$this->SplitFields = explode("#p #",$this->Fields[$this->SplitPageField]);
//$i = 1;
//foreach($this->SplitFields as $k=>$v)
//{
// $tmpv = cn_substr($v,50);
// $pos = strpos($tmpv,'#e#');
// if($pos>0)
// {
// $st = trim(cn_substr($tmpv,$pos));
// if($st==""||$st=="副标题"||$st=="分页标题")
// {
// $this->SplitFields[$k] = preg_replace("/^(.*)#e#/is","",$v);
// continue;
// }
// else
// {
// $this->SplitFields[$k] = preg_replace("/^(.*)#e#/is","",$v);
// $this->SplitTitles[$k] = $st;
// }
// }
// else
// {
// continue;
// }
// $i++;
//}
//$this->TotalPage = count($this->SplitFields);
//$this->Fields['totalpage'] = $this->TotalPage;
二、从250行开始加上
$this->SplitFields = preg_replace("/^(.*)#e#/","",$this->Fields[$this->SplitPageField]);
$this->SplitFields = preg_replace("/副标题#e#/","",$this->SplitFields);
$this->SplitFields = preg_replace("/#p #(.*)#e#/is","",$this->SplitFields);
三、之后修改691行
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];
为
$this->Fields[$this->SplitPageField] = $this->SplitFields;
注:由于显示问题,上面代码中有多余空格