Как выделить фразы в тексте

Сделать информативнее страницу поиска – это выделить искомую фразу в результатах:

Выделить поисковые фразы в результатах поиска

Выделение текста можно сделать тегом <mark> – он делает фон текста желтым цветом или <span> c классом и стилями.

Теги внедряются регулярным выражением, для удобства выведенным в функцию.

function search_select($q, $text)
{
	return preg_replace('/((?:^|>)[^<]*)(' . $q .')/si', '$1<mark>$2</mark>', $text); 
}
PHP

Пример использования в цикле вывода результатов.

<?php
$q = 'Запрос...';
?>

<div class="search">
	<?php foreach ($result as $row): ?>
	<div class="search-item">
		<div class="search-item-name">
			<a href="#"><?php echo search_select($q, $row['name']); ?></a>
		</div>
		<div class="search-item-text">
			<?php echo search_select($q, $row['text']); ?>
		</div>
	</div>
	<?php endforeach; ?>
</div>
HTML
16.08.2019 , обновлено 15.10.2019

Комментарии

, чтобы добавить комментарий.

Другие публикации

Автоматическое оглавление для статьи
Задача: появилась необходимость сделать якорное меню у ранее опубликованных статей, статей много, вручную дополнять их...
05.03.2019
958
0
Номер телефона на сайте
В последнее время нельзя пренебрегать кликабельными номерами телефонов т.к. количество клиентов, использующих мобильные телефоны превысило десктопы.
23.08.2019
1323
+3
PHP транслит
PHP функции для перевода текста, ЧПУ, ссылок и имен файлов в транслит.
24.03.2019
3370
+3
Замена кавычек на «ёлочки» PHP
Для форматирования текста иногда требуется заменить все кавычки в тексте на французские «ёлочки», сделать это можно с помощью PHP-функции...
20.08.2019
704
+3
Как отключить тег br
Зачастую в мобильных версиях сайта перенос текста тегом br только мешает, исключить его влияние можно несколькими способами.
16.09.2019
429
0
Удаление регулярными выражениями в PHP
Примеры регулярных выражений для удаления данных из текста.
31.03.2018
9306
+2