Показать сообщение отдельно
  #7 (permalink)  
Старый 18.09.2023, 08:31
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от WebMachine
а можете подсказать как это объединить с этим:
Что то типа такого
function smartCut(haystack, needle, length = 250, before = 50) {
	const index = haystack.toLowerCase().indexOf(needle.toLowerCase());
	if (index === -1) return '';
	const ltext = haystack.length;
	let start, end;
	if (index > ltext - length) {
		end = length;
		start = Math.max(0, ltext - length);
	} else {
		start = Math.max(0, index - before);
		end = Math.min(ltext, start + length);
	}
	let text = haystack.slice(start, end);
	const rsearch = new RegExp(`(${needle})`, 'ig');
	text = text.replaceAll(rsearch, '<b>$1</b>');
	return text;
}

document.addEventListener("DOMContentLoaded", () => {
    let searchinput = document.querySelector('#searchinput').value;
    let newValue = '<b>' +searchinput+ '</b>';
    const elements = document.querySelectorAll('.fulldesc');
    elements.forEach((element) => {
        element.innerHTML = smartCut(element.textContent, searchinput);
    });
});

Последний раз редактировалось voraa, 18.09.2023 в 08:42.
Ответить с цитированием