PHP5.4下面中文错误(htmlspecialchars)
本帖最后由 Tigerlover 于 2013-11-24 19:45 编辑由于php5.4下面htmlspecialchars函数的3个参数都需要才行,所以DT在php5.4下面时候很多参数无法保存,希望下次更新的时候考虑下这个问题。毕竟现在php5.4已经快成主流了
本帖最后由 sydabing 于 2015-1-4 10:00 编辑
最新调整办法,希望官方测试,希望官方出完美解决方案
include/safe.func.php 下面替换此函数 欢迎交流QQ9385126
function dhtmlspecialchars($string, $flags = null) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = dhtmlspecialchars($val, $flags);
}
} else {
if($flags === null) {
$string = str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string);
if(strpos($string, '&#') !== false) {
//过滤掉类似志的16进制的html字符
$string = preg_replace('/&((#(\d{3,5}|x{4}));)/', '&\\1', $string);
}
} else {
if(PHP_VERSION$val) { $string[$key] = dhtmlspecialchars($val); }
}
else
{
$string = str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string);
if(strpos($string, '&#') !== false)
{
//过滤掉类似志的16进制的html字符
$string = preg_replace('/&((#(\d{3,5}|x{4}));)/', '&\\1', $string);
}
}
return $string;
}
页:
[1]