Perhaps you can use the raw text here again - you'd have to dispense with the rich text formatting, but just for your Search Results view. And anyway, if you were to highlight on top of the rich text you'd have highlight on top of bold (etc.), which could impede readability.
But if you want to highlight within the display of rich text....hmmm....
OK - question is, does fulltext searching search for phrases or just the presence of the individual words? If the latter, you should be able to highlight the words regardless of formatting. "PHP" would be highlighted whether or not it was within <b> tags. But if you're matching phrases and have <b>PHP</b> builder, I don't think you'd be able to highlight it.
Unless you split up the search terms before highlighting and do each word individually. Maybe that's not so bad - you're still doing your SEARCH fulltext, so the results will be relevant; they might just not be highlighted ideally - you might catch a few stray "PHP"s or "builder"s. Maybe a rule that says they have to be within a certain number of characters of each other?
Do fulltext searches actually search on phrases, or just search for the individual words? I should probably know that...