• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php对长文章进行分页处理

php 搞代码 3年前 (2022-01-23) 15次浏览 已收录 0个评论

设计的初衷是:文章列表页,如果用strip_tags删除了所有的样式,则首页的文章简介会显得很乱,没有样式。如果简单的用strip_tags保留p或者br,那么再截取字符串时会有p或者br被截断的情况。

设计思路为:保留p和br,然后替换p为br;再以br为分隔符对整个文章进行分隔。

具体代码如下:可直接使用

/*** 长文章分段* @param string $article 文章内容* @param number $return_number 文章字节限制* @return array*/private function ContentAddpage($content,$return_number=800){    $return_content = "";    //返回的字符串    $curr<span style="color:transparent">/本文来源gaodai#ma#com搞*!代#%^码网%</span><sub>搞代gaodaima码</sub>ent_num = 0;        //当前字符串长度    $return_content_num = 0; //上次字符串截取后的长度;用来处理最后数组中字数过长的case.    $page_num_word = array();//以br为分隔符使用preg_split分隔字符串生成的数组;    $content = strip_tags($content,'<p>,<br>');    $content = preg_replace("/<p(.*?)>/m", "<br>",  $content);    $content = str_replace("</p>","",  $content);    $content = preg_replace("/<br(.*?)>/m", "<br>",  $content);    $content_info = preg_split("/\<br\>/",$content);//根据字符串确定段落    $art_num = count($content_info);//确定段落数    for($i=0;$i <= $art_num-1;$i++){        $page_num_word[$i] = strlen($content_info[$i]);        $current_num += $page_num_word[$i];//得到字数        if ($current_num <= $return_number){            $tmp_num = $return_number-$current_num;            $return_content .= mb_substr($content_info[$i],0,$tmp_num)."<br>";            $return_content_num = $current_num;        }else{            $tmp_num = $return_number-$return_content_num;            $return_content .= mb_substr($content_info[$i],0,$tmp_num)."<br>";            break;        }    }    return $return_content;}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php对长文章进行分页处理
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址