Несмотря на многолетний опыт разработки на php, порой натыкаюсь на совершенно рядовые, но неизвестные вещи. Это было для меня открытием и ударом — неспособность удалить пробел из строки
Официальная документация, содержит комментарий по этому поводу:
Замечание:
Может показаться странным, что результатом вызова trim(html_entity_decode(‘ ‘)); не является пустая строка. Причина том, что ‘ ‘ преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim()),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.
На моей практике, даже это утверждение оказалось неверным. преобразуется не в один, а в целых два символа — chr(194) и chr(160)
А значит, чтобы удалить их, нужно немного доработать код
trim(str_replace(chr(194).chr(160), ' ', html_entity_decode($str)))
Спасибо автору))
Фух, спасибо тебе, автор огромное! Целый час и так и сяк пытался вырезать это пробел сраный из строки!