#45581 [Com]: htmlspecialchars() double encoding &#x hex items
| From: | funky2step at googlemail dot com | Date: | Tue, 22 Jul 2008 14:40:30 +0000 |
| Subject: | #45581 [Com]: htmlspecialchars() double encoding &#x hex items | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-127126@lists.php.net to get a copy of this message | ||
ID: 45581
Comment by: funky2step at googlemail dot com
Reported By: funky2step at gmail dot com
Status: Verified
Bug Type: Strings related
Operating System: Red Hat Enterprise Linux ES
PHP Version: 5.2.6
New Comment:
Thanks for the prompt reply. I understood though that this function
with double encode arg set to false would not act on _any_ existing html
entities.
Is there a reason why it does not recognize these codes, or is it an
oversight/bug?
Previous Comments:
------------------------------------------------------------------------
[2008-07-21 16:01:23] jani@php.net
It's just that the function does not understand the hex entities. :)
------------------------------------------------------------------------
[2008-07-21 14:21:11] funky2step at gmail dot com
obviously that should have been $out = htmlspecialchars($str,
ENT_COMPAT, 'UTF-8', FALSE);
:)
------------------------------------------------------------------------
[2008-07-21 14:14:01] funky2step at gmail dot com
Description:
------------
Trying to use htmlspecialchars() on a string containing &#xHEX;
characters e.g. £
With double encode set to false, it still converts the & to &
Reproduce code:
---------------
$str = "£ one & two";
$out = htmlspecialchars($content, ENT_COMPAT, 'UTF-8', FALSE);
echo $out;
Expected result:
----------------
£ one & two
Actual result:
--------------
£ one & two
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=45581&edit=1