帝国cms结合项url参数优化-让URL地址看起来更美!南笙离2年前发布关注私信08412 感谢作者:jimmy 提供的方案!这种正则过了方法墨鱼亲测可行! 帝国官方结合项如果同一个字段不同值点击两次以上url就会出现重复的参数,当然对功能是没有影响的,感觉不大美观!优化前:/e/action/ListInfo.php?&classid=19&orderby=psalenum&myorder=1&ph=1&classid=19&pbrand=27&orderby=psalenum&myorder=1&myorder=1优化后:/e/action/ListInfo.php?classid=19&orderby=psalenum&myorder=1&ph=1&pbrand=27优化后是不是感觉清爽了很多优化方法:在官方的结合项的函数方法 echo $allstr; 这行代码的前面插入以下代码即可: //新增代码—jimmy.start—–preg_match_all ('/<a href=\"(.*?)\".*?>(.*?)<\/a>/i',$allstr,$matches); for($i=0;$i<count($matches[1]);$i++){ $url = $matches[1][$i]; $parts = parse_url($url); $query = explode('&', $parts[query]); $output=array(); foreach ($query as $key => $value) { if($value){ $params = explode('=', $value); if($params[0]){ $output[$params[0]]=urldecode($params[1]); } } } $newurl = $parts[path].'?'.http_build_query($output); $allstr = str_replace('href="'.$url.'"', 'href="'.$newurl.'"', $allstr); } //新增代码—jimmy.end—– 如果有多个结合项,可以把上面的代码放到一个函数里面调用方法就更加简单了,只需把 echo $allstr; 替换成 echo beautifyUrl($allstr); 即可 function beautifyUrl($allstr){ //新增代码—jimmy.start—– preg_match_all ('/<a href=\"(.*?)\".*?>(.*?)<\/a>/i',$allstr,$matches); for($i=0;$i<count($matches[1]);$i++){ $url = $matches[1][$i]; $parts = parse_url($url); $query = explode('&', $parts[query]); $output=array(); foreach ($query as $key => $value) { if($value){ $params = explode('=', $value); if($params[0]){ $output[$params[0]]=urldecode($params[1]); } } } $newurl = $parts[path].'?'.http_build_query($output); $allstr = str_replace('href="'.$url.'"', 'href="'.$newurl.'"', $allstr); } //新增代码—jimmy.end—– return $allstr; } 帝国cms结合项url参数优化-让URL地址看起来更美!.doc 温馨提示:本文最后更新于2022-11-01 20:34:02若文章内容或图片失效,请在下方留言或联系丁塔克。本站资源均为作者提供和网友推荐收集整理而来,仅供学习和研究使用,请在下载后24小时内删除,谢谢合作! © 版权声明 文章来源 DingTook.Com 隐私政策 PrivacyPolicy 用户协议 UseGenerator 许可协议 NC-SA 4.0 本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢! 分享是一种美德,当你分享时请你附带上本文链接。 THE END帝国cms教程# 帝国cms# 结合项# ur 点赞12 分享QQ空间微博QQ好友海报分享复制链接收藏