By the way, I had code that worked before but I was looping through it in code to remove the tokens and it took about 13 seconds to get the result.

This morning I decided to see what happens if I use replace instead. Was a little tricky because it would remove portions of words. For example, if I had the word "theory" I'd be left with "ory" which is why I went with the before and after commas.

looping through the words in the array inside a loop of common words was just too slow for longer pages.

My timings for the new function using the looped replace is 1.38 seconds to achieve the same thing.