演示链接:查看演示

dedecms搜索和Tag关键词不能有大写字母的解决办法

最近闲的有点疼,给网站改版了下,不仅改版了,连程序也有Wordpress换到dedecmsCMSDedeCMS来了。虽然Wordpress是一款非常不错的程序,不过自己对dedecmsCMSDedeCMS更加熟悉,只能忍痛换了。闲话少诉,由于Wordpress中的标签有很多的都是大写字母的,一到dedecmsCMS就出现标签不存在的问题了。

  这个主要是dedecmsCMS的搜索程序的问题,dedecmsCMSDedeCMS在网站内搜索包含大写字母的时候,会自动把大写字母过滤掉,直接搜索大写字母为空。dedecmsCMS的Tag标签其实就是利用dedecmsCMS的搜索功能来实现的,所以当tag标签包含大写字母时,点击访问的时候,系统会提示标签不存在。知道了问题,我们可以使用strtolower()函数把大写字母转换成小写字母即可。

  strtolower() 函数把字符串转换为小写。语法为:strtolower(string),string必需。规定要转换的字符串。

  1、TAG标签包含大写字母的解决办法

  具体修改方法:打开网站根目录的tags.php文件,把下面一行代码:

  $tag = trim($_SERVER['QUERY_STRING']);

  换成

  $tag = strtolower(trim($_SERVER['QUERY_STRING']));

  2、搜索词包含大写字母的解决办法

  打开/plus/search.php文件,

  把下面一行代码

  $oldkeyword = $keyword = FilterSearch(stripslashes($keyword));

  换成

  $oldkeyword = $keyword = FilterSearch(stripslashes(strtolower($keyword)));

  主要的解决思路就是:利用php中的strtolower()函数把大写字母转换成小写字母。这样当关键词或者Tag标签中有大写字母时,就会被转换为小写进行搜索。这个方法虽然不治本,但还是解决了问题的。

 

THE END
喜欢就支持一下吧
点赞0 分享