Re: ENT_ALL or similar option for htmlspecialchars[_decode]?

From: Date: Fri, 28 Jun 2013 02:54:41 +0000
Subject: Re: ENT_ALL or similar option for htmlspecialchars[_decode]?
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-67993@lists.php.net to get a copy of this message
On Thu, Jun 27, 2013 at 4:42 PM, Kris Craig <kris.craig@gmail.com> wrote: > On Thu, Jun 27, 2013 at 12:03 AM, Yasuo Ohgaki <yohgaki@ohgaki.net> wrote: > > > > > 2013/6/27 Kris Craig <kris.craig@gmail.com> > > > >> I just noticed that htmlspecialchars_decode doesn't convert entities > like > >> &#10 and &#13. > >> > > > > I think htmlspecialchars_decode() only decodes > > > > ext/standard/html_tables.h > > static const entity_stage3_row stage3_table_be_apos_00000[] = { > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {"quot", 4} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {"amp", 3} } }, {0, { > > {"apos", 4} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { {NULL, 0} } }, {0, { > > {NULL, 0} } }, > > {0, { {"lt", 2} } }, {0, { {NULL, 0} } }, {0, { {"gt", 2} } }, {0, { > > {NULL, 0} } }, > > }; > > > > IIRC > > I may be wrong. > > > > > >> Is there a bitmask I'm missing or are those simply not > >> supported right now? If the latter, any thoughts on adding something > >> along > >> the lines of ENT_ALL to convert all valid entities from/to their > >> respective > >> characters? > >> > > > > What you are looking for is html_entity_decode(), I think. > > > > $ php -n -r 'var_dump(html_entity_decode("&#10;&#61;"));' > > string(2) " > > =" > > > > > Yeah I tried html_entity_decode already, but it just returned NULL. On the > same input string, htmlspecialchars_decode returned the input string but > with *some* special characters decoded; 10 and 13 ("\r\n", I think) were > left in their encoded state. I'm not sure why there wouldn't be an option > to decode all html special characters. > The html_entity_decode() function shouldn't return NULL, but even an empty string sounds like a bug, could you file a report for this and provide a reproducible test code? > > --Kris > -- -- Tjerk

« previous php.internals (#67993) next »