广

帝国cms教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    帝国cms结合项url参数优化-让URL地址看起来更美!

    2018-02-01 11:31:12 次阅读 稿源:非官媒
    广告

    帝国官方结合项如果同一个字段不同值点击两次以上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;   

    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告