php长文章分页代码分享

发布时间:2020-07-11编辑:脚本学堂
本文介绍了php对长文章进行分页的方法,一例php长文章分页代码,有需要的朋友参考下。

在php中如何对长文章进行分页

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

专题:php分页代码大全

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

例子,php长文章分页代码
 

复制代码 代码示例:
<?php
/**
* 长文章分段
* @param string $article 文章内容
* @param number $return_number 文章字节限制
* @return array
*/ 
private function ContentAddpage($content,$return_number=800){ 
    $return_content = "";    //返回的字符串 
    $current_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; 

您可能感兴趣的文章: