Я не уверен, как бы я мог лучше сформулировать заголовок, но моя проблема в том, что функция подсветки не выделяет ключевые слова для поиска, которые находятся в конце слова. например, если ключевое слово для поиска - «я», оно будет выделять «я» или «самоуничижение» или «я» [с заглавной буквы S], но оно не будет выделять «я» или «себя» и т. д. .
это функция выделения:
function highlightWords($text, $words) {
preg_match_all('~\w+~', $words, $m);
if(!$m)
return $text;
$re = '~\\b(' . implode('|', $m[0]) . ')~i';
$string = preg_replace($re, '<span class="highlight">$0</span>', $text);
return $string;
}