您的位置:首页 > 帝国cms教程

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

2020-12-08 14:25:17 帝国cms教程 92
帝国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;
}

相关推荐