首页 > 其他 > 网站日记>正文

帝国cms7.5中tags不能包含空格的处理

提示: 阅读权限:公开  

 

 

   帝国7.5的“TAG名称”英文时单词之间的空格,提交后总会自动删掉,导致TAG名称连在一起了,想保留空格,如何处理修改,让保留空格。比如:City Map 提交后会变成CityMap。

  解决思路一:调用taganme的时候,用下边的正则处理下,最大限度的还原英文名称。

<?php

$string="MapCityLBver";

$string=preg_replace('~(?<=[a-z])([A-Z])~', " $0", $string);

echo $string;  //  Map City LBver

?>

   解决思路二:修改帝国cms的源代码

打开帝国cms二开助手,查找特征码  

  insert into {$dbtbpre}enewstags

这是插入tags表的操作。添加tags一定会执行这种语句,所以可以用来做特征。

 

容易看有两个文件包含这个特征:

 

 

件路径

 

操作

 

特征代码

 

/e/class/functions.php

 

代码|访问|修改

 

//添加修改信息增加tags

 

/e/admin/tags/ListTags.php

 

代码|访问|修改

 

//帝国后台单独添加tags

 

 

阅读源代码,容易发现,帝国cms对tagname用RepPostVar做了过滤。

//参数处理函数
function RepPostVar($val){
	if($val!=addslashes($val))
	{
		exit();
	}
	CkPostStrChar($val);
	$val=str_replace("%","",$val);
	$val=str_replace(" ","",$val);
	$val=str_replace("`","",$val);
	$val=str_replace("t","",$val);
	$val=str_replace("%20","",$val);
	$val=str_replace("%27","",$val);
	$val=str_replace("*","",$val);
	$val=str_replace("'","",$val);
	$val=str_replace(""","",$val);
	$val=str_replace("/","",$val);
	$val=str_replace(";","",$val);
	$val=str_replace("#","",$val);
	$val=str_replace("--","",$val);
	$val=RepPostStr($val,1);
	$val=addslashes($val);
	//FireWall
	FWClearGetText($val);
	return $val;
}

哎呀,草率了。空格被干掉了。

往下看,这个函数还有个弟弟:

//参数处理函数2
function RepPostVar2($val){
	if($val!=addslashes($val))
	{
		exit();
	}
	CkPostStrChar($val);
	$val=str_replace("%","",$val);
	$val=str_replace("`","",$val);
	$val=str_replace("t","",$val);
	$val=str_replace("%20","",$val);
	$val=str_replace("%27","",$val);
	$val=str_replace("*","",$val);
	$val=str_replace("'","",$val);
	$val=str_replace(""","",$val);
	$val=str_replace("/","",$val);
	$val=str_replace(";","",$val);
	$val=str_replace("#","",$val);
	$val=str_replace("--","",$val);
	$val=RepPostStr($val,1);
	$val=addslashes($val);
	//FireWall
	FWClearGetText($val);
	return $val;
}

人家就保留空格。

所以 ,你应该会修改了吧? 显示的时候,还有问题,参照下图:

image.png

上一篇:【帝国码段】会员注册的验证码显示

下一篇:帝国cms给文章中图片自动加alt属性和title属性

tags: 帝国cms tags 不能 包含 空格

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部