When adding a large chunk of text with punctuation I found that the formatTag function was combining words instead of leaving them as separate. My quick fix for this was to change:
preg_replace('/[^\w ]/u', '', strip_tags($string));
to:
preg_replace('/[^\w ]/u', ' ', strip_tags($string));
I'm not sure if this is an ideal solution or not.