帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[原创]帝国cms结合项url参数优化 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[原创]帝国cms结合项url参数优化 [加入收藏夹]   

liangguanyu
用户头衔:举人

精华贴   :0
发贴数   :181
经验值   :803
注册时间:2013-09-10
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]帝国cms结合项url参数优化
帝国官方结合项如果同一个字段不同值点击两次以上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;   
}


[该贴被修改 3 次,最后修改时间 2017-04-18 17:41:59 ]


想到即可做到。 http://www.520am.com
2017-04-18 13:20:22 已设置保密 顶部 回复 引用 报告 编辑 删除

liy70345
用户头衔:书生

精华贴   :0
发贴数   :1
经验值   :189
注册时间:2011-12-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]


[该贴被修改 1 次,最后修改时间 2017-04-18 14:23:05 ]



2017-04-18 13:30:50 已设置保密 顶部 回复 引用 报告 编辑 删除

rerere
用户头衔:探花

精华贴   :0
发贴数   :5236
经验值   :16664
注册时间:2009-08-13
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持




2017-04-19 08:19:29 已设置保密 顶部 回复 引用 报告 编辑 删除

feier
用户头衔:探花

精华贴   :0
发贴数   :6751
经验值   :21098
注册时间:2008-07-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持下




2017-04-20 08:50:22 已设置保密 顶部 回复 引用 报告 编辑 删除

zwzfz
用户头衔:进士

精华贴   :0
发贴数   :429
经验值   :1825
注册时间:2012-04-05
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

不错 支持



点击下载:同步生成手机端静态页插件、自动审核插件、自动采集插件咨询QQ:125026171
2017-04-20 10:28:13 已设置保密 顶部 回复 引用 报告 编辑 删除

zhbohoduyou
用户头衔:进士

精华贴   :0
发贴数   :1462
经验值   :4622
注册时间:2014-11-17
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

支持下




2017-04-20 16:06:41 已设置保密 顶部 回复 引用 报告 编辑 删除

我是一片云
用户头衔:探花

精华贴   :0
发贴数   :2712
经验值   :7989
注册时间:2008-02-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持一下




2017-04-21 07:57:19 已设置保密 顶部 回复 引用 报告 编辑 删除

许歌
用户头衔:进士

精华贴   :0
发贴数   :1042
经验值   :3012
注册时间:2016-03-22
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

支持




2017-04-21 18:16:55 已设置保密 顶部 回复 引用 报告 编辑 删除

花心
用户头衔:探花

精华贴   :0
发贴数   :4374
经验值   :13671
注册时间:2008-11-01
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

支持楼主




2017-04-22 08:02:40 已设置保密 顶部 回复 引用 报告 编辑 删除

luoto
用户头衔:探花

精华贴   :0
发贴数   :5792
经验值   :17457
注册时间:2008-11-08
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持下




2017-04-23 08:25:18 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1