По англицки это search highlighting. В принципе это можно делать на php или другом серверном языке, но на javascript всё же проще.
Я использовал код kryogenix.org , который полез немного не в ту степь и подсвечивать стал не результаты поиска, а слова после перехода с поисковых систем, из-за чего он достаёт поисковую фразу из Referer, тогда как в действительности нужно брать из действующей страницы.
Итого - устанавливаем скрипт и меняем в функции googleSearchHighlight строчку на
ref = window.location.href;//document.referrer;
Потом прикручиваем стиль типа
span.searchword{background-color:yellow;}
и получаем, что запрос с GET параметром q=someword подсвечивает слова в документе. Если же надо что-бы подсветка была только внутри скажем div элемента, то надо отредактировать
highlightWord(document.getElementsByTagName("body")[0],words[w]);
В качестве большой проблемы следует отметить проблемы с UTF-8. Javascript русские буквы не понимает вообще, а мои эксперименты привели к
mb_eregi_replace('('. quotemeta($_GET['q']) .')', '\\1', $title);
Которая даже с всевозможными настройками через ini_set() замещала лишь точные фразы,т.е. отсутствовала чувствительность к регистру
Комментарии