>  기사  >  백엔드 개발  >  PHP 긴 기사 페이지 매기기 코드 공유

PHP 긴 기사 페이지 매기기 코드 공유

WBOY
WBOY원래의
2016-07-25 08:53:26978검색
  1. /**
  2. * 长文章分段
  3. * @param string $article 文章内容
  4. * @param number $return_number 文章字节限制
  5. * @return array
  6. */
  7. private function ContentAddpage($content,$return_number=800){
  8. $return_content = ""; //返回的字符串
  9. $current_num = 0; //当前字符串长度
  10. $return_content_num = 0; //上次字符串截取后的长度;用来处理最后数组中字数过长的case.
  11. $page_num_word = array();//以br为分隔符使用preg_split分隔字符串生成的数组;
  12. $content = strip_tags($content,'

    ,
    ');

  13. $content = preg_replace("//m", "
    ", $content);
  14. $content = str_replace("

    ","", $content);
  15. $content = preg_replace("//m", "
    ", $content);
  16. $content_info = preg_split("/
    /",$content);//根据字符串确定段落
  17. $art_num = count($content_info);//确定段落数
  18. for($i=0;$i <= $art_num-1;$i ){
  19. $page_num_word[$i] = strlen($content_info[$i]);
  20. $current_num = $page_num_word[$i];//得到字数
  21. if ($current_num <= $return_number){
  22. $tmp_num = $return_number-$current_num;
  23. $return_content .= mb_substr($content_info[$i],0,$tmp_num)."
    ";
  24. $return_content_num = $current_num;
  25. }else{
  26. $tmp_num = $return_number-$return_content_num;
  27. $return_content .= mb_substr($content_info[$i],0,$tmp_num)."
    ";
  28. break;
  29. }
  30. }
  31. return $return_content;
  32. }
复制代码

您可能感兴趣的文章:



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.