<?php

function filter_characters($str) {
	return implode('', array_filter(str_split($str), function($digit) {
	    return ('.' === $digit || ',' === $digit || is_numeric($digit));
    }));
}

var_dump(filter_characters('1&amp;nbsp;499&amp;nbsp;999,99 RUB'));
var_dump(filter_var('1&amp;nbsp;499&amp;nbsp;999,99 RUB', FILTER_VALIDATE_FLOAT));