什么也不说,自己留着用的。看懂的拿去。
伪静态规则 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);