欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

帝国cms教程

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

帝国cms教程 我的站长站 2019-03-19 共294人阅读

帝国官方结合项如果同一个字段不同值点击两次以上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二次开发
  • 结合项
  • 帝国CMS调用方法
  • 帝国CMS二次开发统计留言数量

    帝国CMS指定模型下的留言数量 代码:<?php$totalnum=(int)$_GET['totalnum']; $totalquery="select count(*) as total from ***_enewsgbook where bid=1 and chec

    帝国cms教程 251 11年前
  • 帝国cms二次开发怎样实现时间为:几小时前、几天前等格式

    放到:userfun.php <?ph ?>之间

    帝国cms教程 542 8年前
  • 帝国CMS二次开发解决内容关键字替换图片ALT办法

    对于帝国CMS的内容管理程序,个人站长朋友是没有什么说的了,安全又稳定,但再美好的东西也会有一点缺陷,对于内容关键字 图片ALT被替换实属让个人站长头疼的,最近在论坛上面找到了解决的办法,这样我们就可以解决这样的烦心事了! 这个办法是对KissVenus发的解...

    帝国cms教程 532 7年前
  • 帝国CMS二次开发织梦CMS数据转帝国CMS教程

    织梦CMS和帝国CMS哪种好?织梦dedecms是目前CMS开源系统中使用人数最多的CMS系统了,凭借着后台使用简单、模板制作也简单,网上模板素材、教程也非常多,受到大家的追捧。但用过织梦CMS都知道,织梦CMS有两个致命缺点:(1)织梦安全性差漏洞多,经常被黑客攻击,虽然官...

    帝国cms教程 545 6年前
  • 帝国CMS二次开发不开后台定时刷新脚本

    在你的操作系统,如果是linux的话,添加以下计划任务。 * * * * * /usr/bin/php /webrootpath/e/tasks/backend_cronjob.php。把代码传到 /e/tasks/ 下。 这个脚本将替代后台的定时刷新,你不用在开着后台了,它帮你定时刷新。适用场景:全战静态化,需要定时刷...

    帝国cms教程 386 7年前
  • 织梦cms地区省市区联动结合项插件
    织梦cms地区省市区联动结合项插件

    联动插件说明1.修复官方联动地区后台编辑文档时三级地区无法显示问题;2.修复前台联动地区在选择二级和三级时数据空白问题;3.省市区分开调用网站插件使用方法1、后台-系统-SQL命令行工具,执行一下...

    织梦cms插件 1281 5年前
  • 帝国CMS结合项插件下载[列表属性筛选显示]
    帝国CMS结合项插件下载[列表属性筛选显示]

    帝国CMS插件安装方法1、打开&ldquo;fieldand.txt&rdquo;文件,将文件里的所有内容复制到 /e/class/userfun.php 文件里(放在<?php和?>之间任意位置);(推荐用Dreamweaver...

    帝国cms插件 2184 10年前
  • 帝国CMS结合项”您来自的链接不存在“解决方法

    打开e/class/userfun.php global $public_r; 改成 global $public_r,$navclassid;---------------------------------------------------- if($_GET['classid'])

    帝国cms教程 813 11年前
  • 帝国CMS结合项筛选选择、删除方法
    帝国CMS结合项筛选选择、删除方法

    结合项官方教程 http://wdzzz.com/Plug/2013-03-29/2.html userfun.php函数 echo $allstr; 后面加上:

    帝国cms教程 300 11年前
  • 帝国CMS结合项多条件筛选可多选

    从模型表中取出字段,进行分割。并且判断当前URL是否包含该条件。下面这段代码是放在模板里面的。<?php$topurl=urldecode($_SERVER["QUERY_STRING"]);//获取当前URL后缀$mysql=$empire->query("select fvalue from {$dbtbpre}enewsf where f=&#39;yxp...

    帝国cms教程 305 7年前
  • 帝国CMS调用栏目自定义字段方法

    帝国CMS调用栏目自定义字段方法说明:封面模板,列表模板,内容模板都可以用,且调用方式都是一样的调用标签:<?=ReturnClassAddField(0,&#39;自定义字段&#39;)?>调用多个:<?=$value=ReturnClassAddField(1,&#39;自定义字段1,自定义字段2&#39;)?>取值:<?=$val...

    帝国cms教程 157 4年前
  • 帝国CMS新手教程调用栏目别名

    帝国CMS调用网站标题灵动标签调用网站标题:<?=$public_r[sitename]?> 帝国CMS标签调用网站标题:[!--pagetitle--] 帝国CMS调用栏目别名: <?=$class_r[$GLOBALS[navclas

    帝国cms教程 275 11年前
  • 帝国CMS调用网站标题的方法

    帝国CMS_调用网站标题的方法方法1: [!--pagetitle--]方法2:<?=$public_r[sitename]?>

    帝国cms教程 379 11年前
  • 帝国CMS灵动标签调用反馈信息

    语法:[e:loop={'select * from XX_enewsfeedback order by bid desc limit 10',8,24,0}]<li><a><?=$bqr[pinpai]?><?=$bqr[chexin]?></a><a><?=$bqr[title]?></a> (<?=fo

    帝国cms教程 243 11年前
  • 帝国CMS调用今日下载本月下载本周下载排行方法
    帝国CMS调用今日下载本月下载本周下载排行方法

    实现方法:第一步在数据表里添加三个字段:DayHits WeekHits MonthHits 分别设为字段类型为INT第二步打开文件:/e/public/ViewClick/index.php(//digg踩数后面添加如下代码...

    帝国cms教程 619 11年前