-->

帝国cms 结合项(帝国cms结合项伪静态)

感谢作者:jimmy提供解决方案!这个常规方法经过墨鱼测试,有效!

如果在帝国官方组合项中的url上点击相同字段不同值两次以上,就会出现重复参数。当然,不影响功能,而且不太美观!优化前:/e/action/ListInfo.php?classid=19orderby=psalenummyorder=1ph=1classid=19pbrand=27orderby=psalenummyorder=1myorder=1优化后:/e/action/ListInfo.php?classid=19orderby=psalenummyorder=1ph=1pbrand=27优化后您是否感觉神清气爽?优化方法很多:只需在官方组合项功能方法echo $allstr前插入以下代码即可;这行代码:

//新代码---jimmy.start-----preg_match_all('/a href=/'(.*?)/'.*?(.*?)//a/i',$allstr, $火柴); for($i=0;$icount($matches[1]);$i++){ $url=$matches[1][$i]; $parts=parse_url($url); $query=explode('', $parts[query]); $输出=数组(); 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/我',$allstr,$matches); for($i=0;$icount($matches[1]);$i++){ $url=$matches[1][$i]; $parts=parse_url($url); $query=explode('', $parts[query]); $输出=数组(); 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最高效的几种随机文章的写法是什么-(帝国cms生成app)

下一篇: 帝国cms7.5(帝国cms使用手册)

关于搜一搜站长工具

如未标明出处,所有模板均为搜一搜站长工具原创,如需转载,请附上原文地址,感谢您的支持和关注。

关于代售类模板,为网友上传发布,如果有侵犯你的权益,请联系我们,第一时间删除。客服邮箱:3801085100#qq.com(#换成@)

本文地址:http://www.soyiso.net/news/12007.html

展开更多