I have a situation where I am passing a string to a function. I want to convert
You might wonder why
trim(html_entity_decode(' '));doesn't reduce the string to an empty string, that's because the
' 'entity is not ASCII code 32 (which is stripped by trim()) but ASCII code 160 (0xa0) in the default ISO 8859-1 characterset.
You can use
str_replace() to replace the ascii character #160 to a space:
<?php $a = html_entity_decode('> <'); echo 'before ' . $a . PHP_EOL; $a = str_replace("\xA0", ' ', $a); echo ' after ' . $a . PHP_EOL;