Discuz!SEO设置不支持空格解决方案

discuz X2.5中就出现过类似的BUG,但官方好像一直也没有理会,前天升级到3.1版本后,发现这个问题还是没有得到解决,在论坛里搜索了大半天没有找到答案。

很多人说是因为系统“过滤”什么的原因造成,建议使用“[size=-1]&nbsp”空格代码,但是这样好像不合搜索引擎的优化。

下面就分享下站长广告网就此问题的解决方案:

文件: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设置一下加上空格 是不是 OK 了?

评论已关闭