When sending a string to htmlentities()
a result is produced in our production environment, but in my development environment, htmlentities()
produces an empty string.
$content = htmlentities($content, ENT_NOQUOTES);
When sending a string to htmlentities()
a result is produced in our production environment, but in my development environment, htmlentities()
produces an empty string.
$content = htmlentities($content, ENT_NOQUOTES);
An encoding should be specified as the encoding defaults to one value in older versions of PHP and another in newer versions of PHP:
If [the encoding] is omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.
In my case, the string being passed to htmlentities
was encoded in ISO-8859-1, which worked in the older version of PHP without specifying an encoding, but the newer version of PHP attempted to parse it with a UTF-8 encoding instead, which produced the empty string. Specifying an encoding as such fixed this issue:
$content = htmlentities($content, ENT_NOQUOTES, 'ISO-8859-1');