// FILTER_SANITIZE_NUMBER_FLOAT - Removes all illegal characters from a float number
// FILTER_FLAG_ALLOW_FRACTION - Allow fraction separator
$str = "TOP17-2.1f+3.3point+4X-0.5Z";
$result = filter_var($str, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
echo $result;
/*
run:
17-2.1+3.3+4-0.5
*/