Когда результаты поиска возвращаются из Алголии, они по умолчанию обертывают «подсвеченную часть» знаками <em> </em>
. Это происходит прямо из коробки, поэтому все, что вам действительно нужно сделать, это использовать CSS, чтобы настроить внешний вид <em>
s в результатах поиска div, чтобы получить необходимый эффект.
Конечно, если вы предпочитаете, чтобы они обтекали выделенный текст чем-то иным, чем <em>
, вы можете настроить его любым желаемым (например, тегом span с классом «подсвечиваемый поиск» или чем-то еще). Вы настраиваете это при инициализации поиска на вашем PHP.
$index = $client->initIndex('contacts');
$result = $index->search('search query', ['attributesToRetrieve' => 'firstname,lastname', 'hitsPerPage' => 50, 'highlightPreTag' => '<span class="highlighted-search">', 'highlightPostTag' => '</span>']);
Теперь предположим, что вы ищете «John D» и отправляете этот поисковый запрос. Algolia возвращает строку к действию:
<span class="highlighted-search">John D</span>oe
Теперь с помощью CSS настроить его как
span.highlighted-search {
background-color:yellow;
}
и теперь он будет выделить поисковый запрос с желтым.
Конечно, все это предполагает, что вы хотите получить результаты поиска на основе статической (PHP-библиотеки) сервера. Я настоятельно рекомендую вам использовать библиотеку autocomplete.js, чтобы вы могли получать результаты поиска в реальном времени по мере ввода. Для этого нужно использовать библиотеки js для возврата результатов на стороне клиента во время ввода пользователем. Это гораздо лучший опыт.