KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to create a simple method which accepts the parameters for htmlspecialchars. Although I am getting PHP notice: Use of undefined constant ENT_HTML5 - assumed 'ENT_HTML5' Any ideas what could be causing this? /** * 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; } If I change: ENT_QUOTES | ENT_HTML5 into: ENT_QUOTES , I get a different error Warning: htmlspecialchars() expects parameter 2 to be long, string given UPDATE I am using PHP 5.3 so this is the reason for the HTML5 error. If I change ENT_QUOTES | ENT_HTML5 to ENT_COMPAT | ENT_HTML401 I get the same sort of error: Notice: Use of undefined constant ENT_HTML401 - assumed 'ENT_HTML401'
Tags (comma-separated)
Save Edits
Cancel