zoukankan      html  css  js  c++  java
  • 从字符串中检索字符实现翻页

    <?php
    
    $str = <<<EOF
        生命的力量|23
        我们的世界|45
        生命的活力|67
        力量的源泉|14
        生命|11
        热爱生命|12
        伟大的生命|15
    EOF;
    
    $arr = explode("
    ", $str);
    $word = $_REQUEST['word'];
    $newarr = array();
    if ($word) {
        foreach ($arr as $val) {
            if (strpos($val, $word) !== false) {
                $newarr[] = $val;
            }
        }
    } else {
        $newarr = $arr;
    }
    $count = count($newarr);
    $perpage = 2;
    $page = intval($_GET['page']) > 0 ? intval($_GET['page']) : 1;
    $start = ($page - 1) * $perpage;
    
    
    $datalist = array_slice($newarr, $start, $perpage);
    var_dump($datalist);
    
    
    $mpurl = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $_SERVER['SCRIPT_NAME'] . '?word=' . urlencode($word);
    
    // 复杂点的分页
    echo multi($count, $perpage, $page, $mpurl);
    
    // 简单的分页
    //$num = 0;
    //if (isset($newarr[$start + $perpage])) {
    //    $num = $perpage;
    //}
    //echo simplepage($num, $perpage, $page, $mpurl);

    //discuz simplepage function simplepage($num, $perpage, $curpage, $mpurl) { $return = ''; $lang['next'] = '下一页'; $lang['prev'] = '上一页'; $next = $num == $perpage ? '<a href="' . $mpurl . '&amp;page=' . ($curpage + 1) . '" class="nxt">' . $lang['next'] . '</a>' : ''; $prev = $curpage > 1 ? '<span class="pgb"><a href="' . $mpurl . '&amp;page=' . ($curpage - 1) . '">' . $lang['prev'] . '</a></span>' : ''; if ($next || $prev) { $return = '<div class="pg">' . $prev . $next . '</div>'; } return $return; } // discuz multi function multi($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = FALSE, $simple = FALSE) { global $_G; $ajaxtarget = ''; $a_name = ''; if (strpos($mpurl, '#') !== FALSE) { $a_strs = explode('#', $mpurl); $mpurl = $a_strs[0]; $a_name = '#' . $a_strs[1]; } $lang['next'] = '下一页'; $lang['prev'] = '上一页'; $dot = '...'; $multipage = ''; $mpurl .= strpos($mpurl, '?') !== FALSE ? '&amp;' : '?'; $realpages = 1; $page -= strlen($curpage) - 1; if ($page <= 0) { $page = 1; } if ($num > $perpage) { $offset = floor($page * 0.5); $realpages = @ceil($num / $perpage); $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages; if ($page > $pages) { $from = 1; $to = $pages; } else { $from = $curpage - $offset; $to = $from + $page - 1; if ($from < 1) { $to = $curpage + 1 - $from; $from = 1; if ($to - $from < $page) { $to = $page; } } elseif ($to > $pages) { $from = $pages - $page + 1; $to = $pages; } } $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="' . $mpurl . 'page=1' . $a_name . '" class="first"' . $ajaxtarget . '>1 ' . $dot . '</a>' : '') . ($curpage > 1 && !$simple ? '<a href="' . $mpurl . 'page=' . ($curpage - 1) . $a_name . '" class="prev"' . $ajaxtarget . '>' . $lang['prev'] . '</a>' : ''); for ($i = $from; $i <= $to; $i++) { $multipage .= $i == $curpage ? '<strong>' . $i . '</strong>' : '<a href="' . $mpurl . 'page=' . $i . ($ajaxtarget && $i == $pages && $autogoto ? '#' : $a_name) . '"' . $ajaxtarget . '>' . $i . '</a>'; } $multipage .= ($to < $pages ? '<a href="' . $mpurl . 'page=' . $pages . $a_name . '" class="last"' . $ajaxtarget . '>' . $dot . ' ' . $realpages . '</a>' : '') . ($curpage < $pages && !$simple ? '<a href="' . $mpurl . 'page=' . ($curpage + 1) . $a_name . '" class="nxt"' . $ajaxtarget . '>' . $lang['next'] . '</a>' : '') ; $multipage = $multipage ? '<div class="pg">' . ($shownum && !$simple ? '<em>&nbsp;' . $num . '&nbsp;</em>' : '') . $multipage . '</div>' : ''; } $maxpage = $realpages; return $multipage; } ?>
  • 相关阅读:
    LeetCode 32. 最长有效括号(Longest Valid Parentheses)
    LeetCode 141. 环形链表(Linked List Cycle)
    LeetCode 160. 相交链表(Intersection of Two Linked Lists)
    LeetCode 112. 路径总和(Path Sum)
    LeetCode 124. 二叉树中的最大路径和(Binary Tree Maximum Path Sum)
    LightGBM新特性总结
    sql service 事务与锁
    C#泛型实例详解
    C# 中的委托和事件(详解)
    C# DateTime日期格式化
  • 原文地址:https://www.cnblogs.com/bandbandme/p/3319066.html
Copyright © 2011-2022 走看看