php Удалить неразрывный пробел - non breaking space

Проблема

Предположим что в некоторой html форме возникают т.н. "неразрывные" пробелы (ну и вообще пусты символы которые вроде и не табы, но обычном trim-ом их не уберёшь) -
пусть мы получили содержимое формы с строку $phrase, тогда удалить эти пробелы можно таким способом:

Решение

используем когд вроде:

$phrase = strtr($phrase, 
	array_flip(
		get_html_translation_table(HTML_ENTITIES, ENT_QUOTES, "UTF-8")
	)
);
$phrase = trim($phrase,chr(0xC2).chr(0xA0)); // удаляем "неразрывные пробелы"

вообще это мутная тема (особенно если вы не разбираетесь с кодировании символов ) - всё зависит от кодировки. надо разбираться. просто так использовать chr(160) - иначе в UTF-8 можно поудалять то, что не собирались) -
но можете изучить вот этот пример с сайта php.net:

// turn some HTML with non-breaking spaces into a "normal" string
$myHTML = " abc";
$converted = strtr($myHTML, array_flip(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES)));

// this WILL NOT work as expected
// $converted will still appear as " abc" in view source
// (but not in od -x)
$converted = trim($converted);

//   are translated to 0xA0, so use:
$converted = trim($converted, "\xA0"); // <- THIS DOES NOT WORK

// EDITED>>
// UTF encodes it as chr(0xC2).chr(0xA0)
$converted = trim($converted,chr(0xC2).chr(0xA0)); // should work

// PS: Thanks to John for saving my sanity!