我想创建并同意对的htmlspecialchars参数的简单方法。 虽然我得到PHP的通知:
未定义的常量ENT_HTML5用途 - 假设“ENT_HTML5”
- 任何想法可能是造成这个?
/ **
* Encode string.
*
* @param array/string $value
* @param string $param
* @return string
*/
protected function escape($mixed, $params) {
$defaults = array('flags' => ENT_QUOTES | ENT_HTML5, 'charset' => 'UTF-8');
$params = array_merge($defaults, $params);
if (is_array($mixed)) {
foreach($mixed as $key => $value) {
$mixed[$key] = $this->escape($value, $params['flags'], $params['charset']);
}
} elseif (is_string($mixed)) {
$mixed = htmlspecialchars($mixed, $params['flags'], $params['charset']);
}
return $mixed;
}
- 如果我改变:
ENT_QUOTES | ENT_HTML5
ENT_QUOTES | ENT_HTML5
到:ENT_QUOTES
,我得到一个不同的错误
警告:用htmlspecialchars()预计参数2长,给出的字符串
UPDATE
我使用PHP 5.3,所以这是对HTML5错误的原因。 如果我改变ENT_QUOTES | ENT_HTML5
ENT_QUOTES | ENT_HTML5
到ENT_COMPAT | ENT_HTML401
ENT_COMPAT | ENT_HTML401
我得到相同类型的错误:
注意:未定义的常量ENT_HTML401用途 - 假设“ENT_HTML401”