#45581 [Com]: htmlspecialchars() double encoding &#x hex items

From: 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

« previous php.bugs (#127126) next »