帝国cms 英文tag包含空格不显示的解决办法,帝国cms网址中出现+导致打不开解决办法

帝国cms的tag如果包含空格,默认是去掉空格的,但是英文tag如果去掉了空格,就会变成四不像,下面为解决办法

修改/e/class/connect.php下

  1. 搜索$val=str_replace(" ","",$val);,替换为 $val=str_replace("","",$val); 大概在990行
复制代码

然后再测试,就会发现问题解决了,但是又出现个问题,tag伪静态之后,网址里面的空格变为了+,这样导致打不开,解决办法如下

同样的 修改/e/class/connect.php下,搜索 返回TAGS列表伪静态 ,然后在下面的位置添加两个替换,把+替换为%20。

  1. //返回TAGS列表伪静态
  2. function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){
  3.         global $public_r;
  4.         $tagname=urlencode($tagname);
  5.         if(empty($public_r['rewritetags']))
  6.         {
  7.                 $r['pageurl']=$public_r['newsurl']."e/tags/?tagname=".$tagname;
  8.                 $r['rewrite']=0;
  9.         }
  10.         else
  11.         {
  12.                 if($ecms==1)
  13.                 {
  14.                         $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagname,0),$public_r['rewritetags']);
  15.                         $r['pageurl']=str_replace('+','%20',$r['pageurl']); //额外加的,把地址中的+替换为%20
  16.                 }
  17.                 else
  18.                 {
  19.                         $r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']);
  20.                         $r['pageurl']=str_replace('+','%20',$r['pageurl']); //额外加的,把地址中的+替换为%20
  21.                 }
  22.                 $r['rewrite']=1;
  23.         }
  24.         return $r;
  25. }
复制代码





上一篇:帝国cms内容页图片自适应大小方法css简单实现
下一篇:帝国cms分表通用内容调用当前文章的tag标签
如无回复请发邮件