Re: ENT_ALL or similar option for htmlspecialchars[_decode]?
| From: | Tjerk Anne Meesters | 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
> >> 
 and 
.
> >>
> >
> > 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(" ="));'
> > 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