Удаляем все "не латинские буквы и не цифры" таким образом:
$str2 = preg_replace('/[^a-zA-Z0-9]/', '', $str );
например:
$str = '2345-gf$5 fg003';
$str2 = preg_replace('/[^a-zA-Z0-9]/', '', $str ); // Удаляем
var_dump($str2);
echo('<br> Было: ' . $str . ' стало: ' . $str2 );