Some genealogy search engines have a "Soundex" option. Usually it brings back more than you need, but you could try it.
Some have a wild card option, usually "*". It means "any number of characters. It doesn't usually work more than once, so you'd have to use O'Dono* and Dono* once after the other, or *Donohue and *Donoghue
Some have a second wild card that means "one character". I don't know the convention for that. If it was a "|", then "Peters|n" would get Peterson and Petersen only, (assuming no Petersin, Petersan or Petersun were in the data base) while "Peters*" would get Peters, peterson, Petersen, Petersbugh . . .
You usually can't combine wild cards and soundex. If you do, you'll get no hits.