Dedecms v5.6的版本比较乱,我的是哪个时间的5.6升级来的也不太清楚了。如果出现如?/a>或?/h3>导致页面错乱问题,试试下面的方法。
找到/include/common.func.php
//中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0) { global $cfg_soft_lang,$cfg_is_mb,$cfg_is_iconv; //判断是否使用mb_substr if($cfg_is_mb) { if($cfg_soft_lang=='utf-8') mb_internal_encoding("UTF-8"); return mb_substr($str,$startdd,$slen*2); } if($cfg_is_iconv) { return iconv_substr($str,$slen*2); } if($cfg_soft_lang=='utf-8') { return cn_substr_utf8($str,$startdd); } $restr = ''; $c = ''; $str_len = strlen($str); if($str_len < $startdd+1) { return ''; } if($str_len < $startdd + $slen || $slen==0) { $slen = $str_len - $startdd; } $enddd = $startdd + $slen - 1; for($i=0;$i<$str_len;$i++) { if($startdd==0) { $restr .= $c; } else if($i > $startdd) { $restr .= $c; }
if(ord($str[$i])>0x80) { if($str_len>$i+1) { $c = $str[$i].$str[$i+1]; } $i++; } else { $c = $str[$i]; }
if($i >= $enddd) { if(strlen($restr)+strlen($c)>$slen) { break; } else { $restr .= $c; break; } } } return $restr; }
替换为
//中文截取2,单字节截取模式 function cn_substr($str,$startdd=0) { global $cfg_soft_lang; if($cfg_soft_lang=='utf-8') { return cn_substr_utf8($str,$startdd); } $restr = ''; $c = ''; $str_len = strlen($str); if($str_len < $startdd+1) { return ''; } if($str_len < $startdd + $slen || $slen==0) { $slen = $str_len - $startdd; } $enddd = $startdd + $slen - 1; for($i=0;$i<$str_len;$i++) { if($startdd==0) { $restr .= $c; } else if($i > $startdd) { $restr .= $c; }
if(ord($str[$i])>0x80) { if($str_len>$i+1) { $c = $str[$i].$str[$i+1]; } $i++; } else { $c = $str[$i]; }
if($i >= $enddd) { if(strlen($restr)+strlen($c)>$slen) { break; } else { $restr .= $c; break; } } } return $restr; } 出处:http://www.liukun.org/188.html (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|