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