We have a number of different highlighters available which is a reflection of how many different people have attempted to tackle this tricky problem over the years.
Some highlighter implementations are faster, some are better at highlighting phrases (your problem) than others. It's worth experimenting to see which offers the best trade off.