Есть длинный текст и есть форма поиска по этому тексту. При вводе слова в форму поиска необходимо найти все упоминания этого слова в тексте и выделить (подсветить желтым фоном). В случае, если указываются 2 слова, то каждое должно искаться индивидуально, если словосочетание указывается в кавычках, то ищется как единое словосочетание. Как создавать форму понятно, но вот как осуществить этот самый поиск?
Если нет возможности устанавливать ПО на сервер, то Zend Lucence - полноценный поисковый двиг на php-е
По БД или нет, не важно. Вы сами не напишите такой алгоритм поиска, как у sphinx или Lucene, поверьте, я пробовал в своё время. А если бы были в состоянии написать, не было бы этой темы. Воспользуйтесь готовым решением. https://github.com/zf1/zend-search-lucene