PHP5.3 带有 ENT_HTML5 的 htmlentities 抛出错误消息
PHP5.3 htmlentities with ENT_HTML5 throws error message
我从 post 表单接收数据并希望将其存储在 MySQL
处理输入的代码行是:
$tekst = $_POST["tekst"];
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
当我运行它时,我收到错误消息:
警告:htmlentities():不支持字符集“ENT_HTML5”,假设第 14 行 savepage.php 中的 iso-8859-1 index.php?id=1&ret=1 1
如何克服警告?
您出现该错误是因为您使用了仅在 PHP5.4.0.
中出现的标志 ENT_HTML5
你可以从官方确认这一点documentation:
5.4.0 The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
如果您的唯一目标是克服该错误,那么您可以简单地不设置 htmlentities()
函数的标志。让PHP默认对待他们。
我的意思是,改变这个:
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
收件人:
$tekst = htmlentities($tekst, "UTF-8");
另一个选项,是设置用PHP5.3.0支持的其他标志替换它们,例如:
ENT_COMPAT
:默认。只编码双引号
ENT_IGNORE
: 忽略无效编码而不是使函数 return 为空字符串。应该避免,因为它可能有安全隐患。
我从 post 表单接收数据并希望将其存储在 MySQL 处理输入的代码行是:
$tekst = $_POST["tekst"];
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
当我运行它时,我收到错误消息: 警告:htmlentities():不支持字符集“ENT_HTML5”,假设第 14 行 savepage.php 中的 iso-8859-1 index.php?id=1&ret=1 1
如何克服警告?
您出现该错误是因为您使用了仅在 PHP5.4.0.
中出现的标志ENT_HTML5
你可以从官方确认这一点documentation:
5.4.0 The constants ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML and ENT_HTML5 were added.
如果您的唯一目标是克服该错误,那么您可以简单地不设置 htmlentities()
函数的标志。让PHP默认对待他们。
我的意思是,改变这个:
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
收件人:
$tekst = htmlentities($tekst, "UTF-8");
另一个选项,是设置用PHP5.3.0支持的其他标志替换它们,例如:
ENT_COMPAT
:默认。只编码双引号ENT_IGNORE
: 忽略无效编码而不是使函数 return 为空字符串。应该避免,因为它可能有安全隐患。