Skip to main content
 首页 » 网络杂谈

Discuz!X2.5的SEO标题设置不支持空格解决方法

2014年01月02日47950

今天用Discuz!X2.5搭了个论坛,在SEO设置里面修改网站标题的时候,发现设置的空格不起作用,程序自动把空格过滤掉了。大家都知道,网站的标题对一个网站是非常重要的,直接影响网站的流量呀。为了设置一个自认为比较完美的标题,特地搜索了一下,成功解决这个问题,需要把Discuz!X2.5的SEO标题设置不支持空格的解决方法记录一下,以备不时之需。

总的来说,我找到两种方法让seo标题支持空格。一种是使用html空格,即空格用 代替,这种方法在浏览器标题栏是可以看到空格的,但是在网站的源码里面会有 字符,所以个人觉得还是没有解决标题设置不支持空格的问题。

解决Discuz!X2.5的SEO标题设置不支持空格的另一种方法是修改Discuz!X2.5的系统文件,修改source\class\helper\helper_seo.php文件第49行附近的如下代码:

public static function strreplace_strip_split($searchs, $replaces, $str) {$searchspace = array('((\s*\-\s*)+)', '((\s*\,\s*)+)', '((\s*\|\s*)+)', '((\s*\t\s*)+)', '((\s*_\s*)+)');$replacespace = array('-', ',', '|', ' ', '_');return trim(preg_replace($searchspace, $replacespace, str_replace($searchs, $replaces, $str)), ' ,-|_');}

修改之前一定先备份,防止出错。修改后的代码为:

public static function strreplace_strip_split($searchs, $replaces, $str) {$searchspace = array('(((\s)*\-(\s)*)+)', '(((\s)*\,(\s)*)+)', '(((\s)*\|(\s)*)+)', '(((\s)*\t(\s)*)+)', '(((\s)*_(\s)*)+)');$replacespace = array('$3-$3', '$3,$3', '$3|$3', '$3 $3', '$3_$3');return trim(preg_replace($searchspace, $replacespace, str_replace($searchs, $replaces, $str)), ' ,-|_');}

修改完成之后,替换源文件,在SEO设置里面填写有空格的标题,然后在Discuz!X2.5后台更新缓存。好了,打开论坛首页,是不是看到空格出现了?打开网站源代码,也没有多余的代码,完美解决Discuz!X2.5的SEO标题设置不支持空格的问题。

评论列表暂无评论
发表评论