Hallo Ingo,
du brauchst html_entity_decode, um HTML Symbole wie   in echte Zeichen zu übersetzen.
ist das "non breaking space", Zeichencode 160 (0xa0).
Und dann beginnen die Probleme.
Du musst html_entity_decode sagen, mit welchem Encoding sie das tun soll. Wenn Du das nicht tust, wird das default_charset verwendet, das für PHP eingestellt ist, und das ist seit PHP 5.6 per Default UTF-8. Und im Normalfall ist das auch richtig so.
Nur - wenn html_entity_decode einen in UTF-8 codierten String liefert, wird aus eine UTF-8 Zeichensequenz 194, 160 (\xC2 \xA0), und das bedeutet: Du kannst trim() nicht mehr verwenden, um dieses Zeichen zu entfernen. trim funktioniert nur für Single-Byte Zeichensätze. Du bräuchtest mb_trim - was es aber nicht gibt. D.h. du musst die trim-Operation mit einer Regex nachbauen. Die für deinen Fall einfachste Lösung ist, einfach alle Leerzeichen zu löschen, nicht nur die am Anfang und Ende:
$plainText = strip_tags($editText);
$decoded = html_entity_decode($plainText, ENT_COMPAT | ENT_HTML5, 'ISO-8859-1');
$trimmed = mb_ereg_replace('\s+', '', $text);
Die mb_ereg Funktionen erkennen das   Leerzeichen als Whitespace, d.h. das \s Symbol ersetzt es durch einen Leerstring.
Rolf
sumpsi - posui - obstruxi