Проблема с ошибкой _getParam ('paramName')

Мое приложение 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 ответа

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

Это расшифровывает html-объекты, но это выглядит как массивный недостаток безопасности XSS, если вы планируете просто эхом отдавать это значение без какой-либо дезинфекции (если только метод _getParam() не дезинформирует ввод)


Проверьте http://uk3.php.net/manual/en/function.htmlspecialchars-decode.php

Вы должны использовать эту стандартизованную функцию, чтобы максимально использовать собственные библиотеки php.

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

licensed under cc by-sa 3.0 with attribution.