下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms二次开发结合项url参数优化

640 2020-11-18 10:11:32

收藏

简述

帝国官方结合项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;这行代码的前面插入以下代码即可:
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($queryas$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);
}


如果有多个结合项,可以把上面的代码放到一个函数里面调用方法就更加简单了,只需把echo $allstr;替换成echo beautifyUrl($allstr);即可

function beautifyUrl($allstr){
    preg_match_all('/<ahref="(.*?)".*?>(.*?)</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($queryas$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);
    }
    return$allstr;
}

 

本文地址:https://xzo.com.cn/develop/empire/110.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms列表页怎样置顶?
帝国cms列表页怎样置顶?

在很多时候,我们有信息置顶的需求。但大家在后台信息设置好置顶后可能会发现...

11 836
PHPCMS可以转为帝国CMS程序吗?
PHPCMS可以转为帝国CMS程序吗?

如今phpcms由于停止更新不能继续用下去了,我们就更加推荐帝国。那么,phpcms可...

23 848
帝国CMS内容页怎样用js实现点击改变字号大小?
帝国CMS内容页怎样用js实现点击改变字号大小?

许多帝国cms开发的小说站点、文字资料站点要考虑目标用户的不同而设置不同...

1 459
帝国cms灵动标签开发那年今日发布的文章
帝国cms灵动标签开发那年今日发布的文章

很多国民app有去年今日的功能,就如QQ空间的那年今日。而网站如果调用那年今...

0 466
帝国cms怎样判断当前页面为首页?
帝国cms怎样判断当前页面为首页?

在帝国cms开发时,我们经常要给栏目配置高亮效果。栏目高亮判断循环的id等于...

0 610
帝国CMS提示信息函数printerror()怎么用?
帝国CMS提示信息函数printerror()怎么用?

我们知道js有alert属性可用于弹窗提示,但比较难看。帝国cms的弹窗提示虽然同...

0 426
帝国cms7.5编辑器的换行符br怎样改为p元素?
帝国cms7.5编辑器的换行符br怎样改为p元素?

帝国cms7.5自带的编辑器ckeditor默认换行符是<br>,在实际应用中经常会出现问...

0 372
帝国cms 使用download.js下载视频文件
帝国cms 使用download.js下载视频文件

视频文件默认会被pc浏览器直接打开,此时download属性也同样无效。那么,要怎样...

0 455
推荐插件
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 436
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 695
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1079
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 879
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 798
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1228
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 410
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1248
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入