php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #63806 html_entity_decode($x, ENT_QUOTES, "UTF-8") doesn't work as advertised wrt. "'"
Submitted: 2012-12-19 14:31 UTC Modified: 2012-12-19 19:51 UTC
From: t dot glaser at tarent dot de Assigned:
Status: Not a bug Package: Strings related
PHP Version: 5.4.9 OS: Debian experimental to get 5.4.9
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
4 + 10 = ?
Subscribe to this entry?

 
 [2012-12-19 14:31 UTC] t dot glaser at tarent dot de
Description:
------------
http://de3.php.net/manual/en/function.html-entity-decode.php says:

        Available flags constants
Constant Name   Description
  ENT_COMPAT    Will convert double-quotes and leave single-quotes alone.
  ENT_QUOTES    Will convert both double and single quotes.
  ENT_NOQUOTES  Will leave both double and single quotes unconverted.
  ENT_HTML401   Handle code as HTML 4.01. 
  ENT_XML1      Handle code as XML 1. 
  ENT_XHTML     Handle code as XHTML. 
  ENT_HTML5     Handle code as HTML 5.

However, I don’t see ' being decoded with ENT_QUOTES.

Test script:
---------------
<?php
$x = "&apos;";
$y = html_entity_decode($x, ENT_QUOTES, "UTF-8");
echo "< $y >\n";


Expected result:
----------------
< ' >


Actual result:
--------------
< &apos; >


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-12-19 19:51 UTC] rasmus@php.net
This is not a bug. html_entity_decode() defaults to HTML4 entities. &apos; is not 
a valid HTML4 entity. If you try your code with &#39; you will see ENT_QUOTES 
includes single quotes just fine.

As of PHP 5.4 html_entity_decode() supports both XHTML and HTML5 entities. Use 
ENT_QUOTES|ENT_XHTML or ENT_QUOTES|ENT_HTML5 and you will see &apos; is converted 
as you would expect.
 [2012-12-19 19:51 UTC] rasmus@php.net
-Status: Open +Status: Not a bug
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Fri Apr 10 07:01:23 2020 UTC