最近将织梦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 $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 $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;

}

(责任编辑:最模板)

更多推荐

织梦php版本升级格式出错,织梦CMS升级后出现 ?/a>或?/h3>导致网页错乱的解决方法...