织梦CMS升级后出现 ?/a或?/h3导致网页错乱的解决方法

最近将织梦dedecms的版本升级了下,原来我的是V5.5,现在升级成织梦dedecmsV5.6的。但发现V5.6有一个织梦dedecmsV5.5从来没的错误。

这就是出现如?/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, $startdd, $slen*2); } if($cfg_soft_lang=='utf-8') { return cn_substr_utf8($str,$slen,$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,$slen,$startdd=0) { global $cfg_soft_lang; if($cfg_soft_lang=='utf-8') { return cn_substr_utf8($str,$slen,$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; }   

给TA买糖
共{{data.count}}人
人已赞赏
织梦教程

DedeCMS系统参数设置手册之性能选项

2019-12-12 8:00:00

织梦教程

dedecms全站图片或附件阿里云OSS改造过程详解

2019-12-14 8:00:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索