我有来自数据库的以下字符串:让我们获得功能
如果我通过 strlen 运行它,它会返回 25 个字符,而不是预期的 20 个。var 转储显示该字符串与上面类似(没有 html 引用等)。
如果我删除单引号,strlen 将返回 19 个字符。
显然,引用返回 5 个字符而不是 1 个 - 为什么?我怎样才能阻止这个?
谢谢!
小智 5
实体HTML名称为'for ',等于 5 个字符,因此您的strlen()结果完全正确。您看不到 HTML 引用,因为您的浏览器正在呈现它们。打开页面源代码以查看实际的 PHP 输出。
为了避免这个问题,您应该避免htmlspecialchars()在输入上使用函数或等效编码(因为它只能在 HTML 上下文中的输出上使用)。
作为临时解决方法,您可以html_entity_decode()在 之前申请strlen()。
| 归档时间: |
|
| 查看次数: |
9094 次 |
| 最近记录: |