首页 > 其他 > 网站日记>正文

【备忘】【备用】【分页】结合项伪静态化中的一个通用函数

提示: 阅读权限:公开  

什么也不说,自己留着用的。看懂的拿去。

伪静态规则 classid-lba-lbb-page

<?php
$str = "ph=1&&classid=1&lbb=5";
parse_str($str,$arr);
$guize='lba-lbb-classid-page';
echo jhcwjt($guize,$str);

function jhcwjt($guize,$urlcs,$fgf='-'){
   $guizer=explode($fgf,$guize);
   parse_str($urlcs,$vr);
   foreach($guizer as $k=>$v){
       if(!isset($vr[$v]))$vr[$v]=0;
       $guizer[$k]=$vr[$v];
   }
   return implode($fgf,$guizer);
}

在响应伪静态的列表页面,比如/e/action/listinfo.php中

// add by jiuhecai
$yGet=$_GET; //保存get变量备用,get变量的参数还原为字段在数据库中的保存值格式。
$ejld=include('../extend/ejld/ejld.php');
if(isset($_GET['lba'])){
 
  if(isset($_GET['lbb'])){
 	 $_GET['lbb']=$ejld[$_GET['lba']][child][$_GET['lbb']][name];
  }
  $_GET['lba']=$ejld[$_GET['lba']][name];
}
$_GET['ph']=1;

分页函数的处理

$listpage=page1($num,$line,$page_line,$start,$page,$search);
//   /e/action/wechat.php?page=3&classid=36&line=12&tempid=11&ph=1&andor=and&lba=%E6%B2%B3%E5%8C%97&lbb=%E6%B2%A7%E5%B7%9E&orderby=&myorder=0
$listpage= preg_replace_callback(
    '#/e/action/wechat.php?page=([0-9]+)&(.*?)"#', 
    function ($ms) { 
            global $yGet;
             return "/wechat-$_GET[classid]-".intval($yGet[lba])."-".intval($yGet[lbb])."-$ms[1]".'.html"';
        },
$listpage);

再来一个:

$listpage=page1($num,$line,$page_line,$start,$page,$search);
//  wapwechat.php?page=1&classid=1&line=12&tempid=11&orderby=monthclick&myorder=0

$listpage= preg_replace_callback(
    '#/e/action/wapwechat.php?page=([0-9]+)&(.*?)"#', 
    function ($ms) {
       $page='';
       if($ms[1])$page="-$ms[1]";
       $orderby="";
       if($_GET['orderby'])$orderby="-{$_GET['orderby']}";
        $cl="";
       if($_GET['classid'])$cl="-type{$_GET['classid']}";
        return "/wechat".$cl.$orderby.$page.'.html"';
        },
$listpage);

又是一个

$listpage= preg_replace_callback(
    '#/e/action/ListInfo.php?page=([0-9]+)&(.*?)"#', 
    function ($ms) { 
             $mypage=$ms[1]==0?'':"-".$ms[1];
             return "/wechat/".$_GET[weixin].$mypage.'"';
        },
$listpage);

 

2020新增一个

//add by jiuhecai 
$listpage= preg_replace_callback(
    '#/e/action/ListInfo.php?page=([0-9]+)&(.*?)"#', 
    function ($ms){ 
            $url=$_SERVER['REQUEST_URI'];
            $url=preg_replace('/[0-9]+$/',$ms[1],$url);
            return $url.'"';
        },
$listpage);


上一篇:【批量王】帝国cms批量添加tags

下一篇:【代码片段】jquery下动态提交表单

tags: 备忘 静态 函数 结合 通用 一个 

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部