由于未做字符集判断,中文字符会出问题。改写之后的函数:
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)); } } }