Aşağıdaki şekilde dener misiniz ?

<?php
function boslukTemizle($text)
{
	$text= preg_replace('/\s+/','',$text);
	$text= preg_replace("/(&nbsp;+)/","",$text);
	
	return $text;
}

$metin = "Test1 &nbsp; Test2 &nbsp;";

$metin = boslukTemizle($metin);
echo $metin;
?>
Eğer tüm boşlukları değilde sadece &nbsp; değerini sildirmek istiyorsanız

$text= preg_replace('/\s+/','',$text);
satırını silmeniz yeterlidir.