所以首先我注意到当一个&符号(&)在 htmlentities 函数中时,它会将&符号计算为 5 个字符。所以这段代码:
$a = htmlentities("&12345");
$b = substr($a,0,6);
echo $b;
会回显'&1'
,我相信它将 & 计为 5 个字符。更有趣的是英镑符号 (£),它被一起忽略了,所以:
$a = htmlentities("£");
echo $a;
没有回声。我在 Chrome 和 FF 上得到相同的结果。我不知道这是一个错误还是我应该使用不同的语法。有谁知道为什么会发生这种情况?谢谢
更新
我已经解决了这个问题:$a = htmlentities("£", ENT_COMPAT, 'ISO-8859-15');
但&符号问题仍然存在。