不少帝国CMS用户在调用简介或截取内容时会遇到乱码的情况,或者遇到其它不需要的字符,例如html转义符。这里cms大学和大家分享一下解决办法,遇到类似问题的朋友可以参考一下。
首先打开文件 e/class/connect.php 文件,找到函数 sub($string,$start=0,$length,$mode=false,$dot='',$rephtml=0) (帝国cms7.2utf8版本是在923行)
将其中的代码:
折叠PHP 代码
- $string = str_replace(array(' ','&','"','<','>','''), array(' ','&','"','<','>',"'"), $string);
替换为
折叠PHP 代码
- $string = str_replace(array(' ','&','"','<','>',''','“','”'), array(' ','&','"','<','>',"'",'“','”'), $string);
原因:帝国cms默认的截取替换函数没有对双引号起作用,这里加上就解决问题了,同时我们也可以在这里添加要替换的其他字符和替换后的字符来实现其他符号的转换。