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
と、別のエラーが発生します
警告:htmlspecialchars()は、パラメーター2が長く、文字列が指定されていることを想定しています。
アップデート
私はPHP5.3を使用しているので、これがHTML5エラーの理由です。に変更ENT_QUOTES | ENT_HTML5
するENT_COMPAT | ENT_HTML401
と、同じ種類のエラーが発生します。
注意:未定義の定数ENT_HTML401の使用-「ENT_HTML401」と見なされます