_getParam(' paramName')编码问题

时间:2014-07-01 14:02:14

标签: php zend-framework utf-8

我的php应用程序试图从命中它的url获取描述参数:例如

http://example.co.uk/events/errnc8/promo.html?description=Leicester%27s+finest+to+close+this+year%27s+Glastonbury&

但是当我打电话时

$description = $this->_getParam('description');

我最终将$ description设置为

Leicester's finest to close this year's Glastonbury

正确编码/解码此参数的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

$description = html_entity_decode($this->_getParam('description'), ENT_QUOTES, 'UTF-8');

这将对html实体进行解码,但如果您计划在没有任何清理的情况下回显该值(除非_getParam()方法清理输入),这看起来像是一个巨大的XSS安全漏洞。

答案 1 :(得分:0)

查看http://uk3.php.net/manual/en/function.htmlspecialchars-decode.php

您应该使用该标准化功能来充分利用php自己的库。

string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )