You could use an aray of characters to replace:
$find = Array('$','£','.',';'); // use whatever characters you want to remove here
$replace = Array('', '', '', ''); // should contain the same amount of elements as $find
$newString = str_replace($find, $replace, $string);
You can use this before or after you split the string into an array of words, although it is best doing it before as you won't end up with empty array elements and it is a lot more efficient with regards to memory consumption.