destoon GBK版本dhtmlspecialchars函数 bug

由于未做字符集判断,中文字符会出问题。改写之后的函数:

function dhtmlspecialchars($string) {
    $encoding = 'utf-8';
    if(DT_CHARSET=='gbk'){ $encoding = 'gb2312'; }    
    if(is_array($string)) {
        return array_map('dhtmlspecialchars', $string);
    } else {
        if(defined('DT_ADMIN')) {
            return str_replace(array('&'), array('&'), htmlspecialchars($string, ENT_QUOTES,$encoding));
        } else {
            return str_replace(array('&', '"', '"', '"'), array('&', '', '', ''), htmlspecialchars($string, ENT_QUOTES,$encoding));
        }
    }
}

 

posted @ 2014-03-29 11:15  swinm  阅读(319)  评论(0编辑  收藏  举报