Как удалить конечные пробелы и «& nbsp;» от начала и до конца строки в PHP?

Если

$text = '     MEANINGFUL THINGS GO HERE     '; 

Как я могу получить

 $cleanText = 'MEANINGFUL THINGS GO HERE'; 

Я знаю, что следующее будет удалять все пробелы

 $text=trim($text); 

но как можно включить фактическое экранированное пространство в обрезку?

Meaningful Things могут содержать [shortcodes] , html-теги, а также экранированные символы. Мне нужно, чтобы они были сохранены.

Любая помощь будет оценена по достоинству. Благодаря!

 $text = '     MEANINGFUL THINGS GO HERE     '; $text = preg_replace( "#(^( |\s)+|( |\s)+$)#", "", $text ); var_dump( $text ); //string(25) "MEANINGFUL THINGS GO HERE" 

дополнительные тесты

 $text = '   S     S  '; --> string(24) "S     S" $text = '        '; --> string(0) "" $text = '   &nbst; &nbst;  '; --> string(18) "&nbst; &nbst;" 

Также запустите html_entity_decode , затем обрезаем :

 $text=trim(html_entity_decode($text));