帝国CMS自动截取简介出现乱码的解决方法

不少帝国CMS用户在调用简介或截取内容时会遇到乱码的情况,或者遇到其它不需要的字符。这里给出这一问题的解决方法,遇到类似问题的朋友可以参考一下。

首先打开文件e/class/connect.php,找到函数 sub($string,$start=0,$length,$mode=false,$dot=\’\’)

将其中的代码:

复制代码代码如下:$string = str_replace(array(\’ \’,\’&\’,\’\”\’,\’\’,\’\’\’), array(\’ \’,\’&\’,\’\”\’,\’\’,\”\’\”), $string);
替换为:

复制代码代码如下:$str

ing = str_replace(array(\’ \’,\’&\’,\’\”\’,\’\’,\’\’\’,\’“\’,\’”\’), array(\’ \’,\’&\’,\’\”\’,\’\’,\”\’\”,\’“\’,\’”\’), $string);

分析:帝国默认的截取替换函数没有对双引号起作用,这里加上就解决了这个了,因此如遇到其它类似情况在这里添加要替换的字符和替换后的字符即可。

utf-8编码的情况:

复制代码代码如下:$string = str_replace(array(\’ \’,\’&\’,\’\”\’,\’\’,\’\’\’,\’“\’,\’”\’), array(\’ \’,\’&\’,\’\”\’,\’\’,\”\’\”,\’“\’,\’”\’),