很多使用 Discuz X3.2 的同学都发现这么一个问题:在后台SEO设置-title设定的时候,即使你在连字符两侧输入了空格,在前台也显示不出来,很多同学纠结这个问题,今天终于找到了解决方法,在此分享给大家。
在文件: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)), ' ,-|_');
- }
复制代码 上传到服务器后,刷新前台,即可看到效果。 |