我试图以 htmlencoded 方式输出一个字符串,并且该htmlentities()
函数始终返回一个空字符串。
我确切地知道它为什么这样做。好吧,我没有运行 PHP 5.4 我安装了最新的 PHP 5.3 版本。
问题是我将如何能够对具有无效代码单元序列的字符串进行 htmlencode。
根据手册,ENT_SUBSTITUTE
是要走的路。但是这个常量在 PHP 5.3.X 中没有定义。
我这样做了:
if (!defined('ENT_SUBSTITUTE')) {
define('ENT_SUBSTITUTE', 8);
}
仍然没有运气。htmlentities
仍然返回空字符串。
我想尝试一下ENT_DISALLOWED
,但我找不到它对应的 long 值。
所以我的问题是两个折叠
PHP 5.4 的常量值是
ENT_DISALLOWED
多少?如何确保可以清除包含非 UTF-8 字符(例如智能引号)的字符串?- 不仅仅是智能引号,还有任何导致
htmlentities()
返回空白字符串的东西。