<?php //用于处理在一个数组或字符串内发现的HTML代码 function dhtmlspecialchars($string, $flags=null) { if (is_array($string)) { foreach ($string as $key => $val) { $string[$key] = dhtmlspecialchars($val, $flags); } } else { if ($flags === null) { //把&、"、<和>转变成HTML实体格式 $string = str_replace(array('&','"','<','>'),array('&','"','<','>'),$string); if (strpos($string, '&#') !== false) { //如遇到实体编号,使用正则进行匹配,把这样的实体编号字符又转换回来 $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string); } } else { if (PHP_VERSION < '5.4.0') { $string = htmlspecialchars($string, $flags); } else { if (strtolower(CHARSET) == 'utf-8') { $charset = 'UTF-8'; } else { $charset = 'ISO-8859-1'; } $string = htmlspecialchars($string, $flags, $charset); } } } return $string; } ?>