Если вы хотите получить только цифры из текста, используйте его:
preg_match_all('/(\d+)[th|\-th]*?/','7-th", "7th", "8-th', $matches);
Но если вы хотите удалить 'th' или другое, просто сделайте замену:
preg_replace('/(\d+)[th|\-th]*?/','$1', 'some string')
Не уверен насчет последнего ...