Я успешно выделяю результаты, но проблема в том, что код дублирует результаты. Например, даже когда у меня есть только одно вхождение «этого случайного текста», код вставляет дублированные результаты в отрывок странным образом. Застрял здесь, пожалуйста, помогите. Я приложил скриншот, чтобы помочь понять проблему. Из моего текста также видно, что предложение теперь не имеет смысла, поскольку оно не находит и не усекает должным образом, так что появляется только абзац, содержащий соответствующее ключевое слово.
function wps_highlight_results($text){
if(is_search()){
$sr = get_query_var('s');
$keys = explode(" ",$sr);
$text = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">'.$sr.'</strong>', $text);
}
return $text;
}
add_filter('the_excerpt', 'wps_highlight_results');