मैं एक सरल विधि बनाने की कोशिश कर रहा हूं जो htmlspecialchars के पैरामीटर स्वीकार करता है। हालांकि मैं पीएचपी नोटिस हो रही है:नोटिस: अपरिभाषित निरंतर ENT_HTML5 का उपयोग - माना गया 'ENT_HTML5'
Use of undefined constant ENT_HTML5 - assumed '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
, मुझे कोई दूसरी त्रुटि मिलती है
Warning: htmlspecialchars() expects parameter 2 to be long, string given
अद्यतन
मैं PHP 5.3 का उपयोग कर रहा हूं इसलिए यह HTML5 त्रुटि का कारण है। अगर मैं ENT_COMPAT | ENT_HTML401
करने के लिए ENT_QUOTES | ENT_HTML5
बदल मैं त्रुटि का एक ही तरह मिलती है:
Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401'
PHP का कौन सा संस्करण आप उपयोग कर रहे हैं? ENT_HTML5 PHP 5.4 और ऊपर के लिए है ... –