帝国CMS将双引号显示成& rdquo;残缺!好在能解决

没有任何CMS是完美的,不论是使用DEDE织梦还是帝国CMS建设网站,常会发现随着网站的调整出现这样那样的小问题,有时莫名其妙得让人抓耳挠头。这不,华哥在首页模板使用帝国CMS灵动标签读取文章摘要时,就出现把双引号显示为”如下图:

双引号显示为”

尼玛!帝国功能那么强却自带这样的小BUG,这不是残缺嘛!看来和这部香港老电影有得一拼!

残缺

别看是个小小的问题,这还需要修改帝国CMS的系统文件才能搞定呢!

原因:

正常情况下,帝国CMS会自动提取正文内容里的前部分文字为简介,但有时候正文里有特殊的字符,这样就会导致自动提取简介的时候会产生”,其实是帝国没有完成过滤掉特殊的字符。

解决办法:

打开文件e/class/connect.php

找到函数 sub($string,$start=0,$length,$mode=false,$dot='')

将其中的代码

$string = str_replace(array('&nbsp;','&amp;','&quot;','&lt;','&gt;','&#039;'), array(' ','&','"','<','>',"'"), $string);
替换为

$string = str_replace(array('&nbsp;','&amp;','&quot;','&lt;','&gt;','&#039;','&ldquo;','&rdquo;'), array(' ','&','"','<','>',"'",'“','”'), $string);

帝国CMS的系统文件

1.如上图,如按教程查找,那么长的代码,你可能会什么也找不到,因此华哥只用start=0来进行查找,最终在922行找到,有了图后,以后搜索“字符截取函数”应该更容易找到,不过要注意的是,此操作环境是帝国CMS7.2,其他版本未知。

2.改帝国CMS的系统文件是很有风险的,为了防止出错(有时粘贴过来的代码格式不纯净),有后悔药可以吃,华哥将原来的代码进行了注释,然后再复制粘贴上文解决方法中的代码。

上传后,发现OK。

双引号

举一反三,遇到其它类似情况在这里添加要替换的字符和替换后的字符即可。

本教程来自网络,由华哥在帝国CMS7.2版本和学而行营销网实践通过。

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注