帝国cms 英文tag包含空格不显示的解决办法
作者:李志远分类:帝国cms时间:2022-09-27阅读:
帝国cms的tag如果包含空格,默认是去掉空格的,但是英文tag如果去掉了空格,就会变成四不像,下面为解决办法
修改/e/class/connect.php下
搜索$val=str_replace(" ","",$val);,替换为 $val=str_replace("","",$val); 大概在990行
然后再测试,就会发现问题解决了,但是又出现个问题,tag伪静态之后,网址里面的空格变为了+,这样导致打不开,解决办法如下
同样的 修改/e/class/connect.php下,搜索 返回TAGS列表伪静态 ,然后在下面的位置添加两个替换,把+替换为%20。
//返回TAGS列表伪静态 function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){ global $public_r; $tagname=urlencode($tagname); if(empty($public_r['rewritetags'])) { $r['pageurl']=$public_r['newsurl']."e/tags/?tagname=".$tagname; $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagname,0),$public_r['rewritetags']); $r['pageurl']=str_replace('+','%20',$r['pageurl']); //额外加的,把地址中的+替换为%20 } else { $r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']); $r['pageurl']=str_replace('+','%20',$r['pageurl']); //额外加的,把地址中的+替换为%20 } $r['rewrite']=1; } return $r; }
你觉得文章内容怎么样