Dedecms分页符导致网页错位的解决方法
解决方法:
打开 /include/arc.archives.class.php
找到 ://处理要分页显示的字段
在
if($this->SplitPageField!='' && $GLOBALS['cfg_arcsptitle']='Y' && isset($this->Fields[$this->SplitPageField])) {
下面添加如下代码
$yu_array = ''; $yu_tmp = ''; $yu_body = $this->Fields[$this->SplitPageField]; preg_match_all("|<p[^>]*>([^<]*)</p>|isU",$yu_body,$yu_array); for($i=0;$i<count($yu_array[0]);$i++){ if((stristr($yu_array[1][$i],'@p@') !== false) && (stristr($yu_array[1][$i],'@e@') !== false)){ preg_match('|(@p@.*?@e@)|si',$yu_array[1][$i],$yu_tmp); $yu_body = str_replace($yu_array[0][$i],$yu_tmp[1],$yu_body); } } $this->Fields[$this->SplitPageField] = $yu_body;
//将上面代码中的@替换为#号。
保存即可。
其作用是在模板解析分页的时候把分页标签两边的<p>过滤掉,这样这个标签就不会出现在文章内容页中。<div> 的用法类似,把正则里的 <p> 改成 <div> 即可。